#include <iostream>
#include <string>
#include <vector>
#include <cstring>
using namespace std;
vector<string> split(string s) {
vector<string> words;
string word = "";
int l = s.length();
for (int i = 0; i < l; ++i) {
if (s[i] != ' ') {
word += s[i];
}
if (s[i] == ' ') {
words.push_back(word);
word = "";
}
}
return words;
}
vector<string> missingWords(string s, string t) {
vector<string> s1 = split(s);
vector<string> s2 = split(t);
vector<string> returns ;
int j=0, i=0;
while(i<s1.size()){
while(j<s2.size()){
if(s1[i] == s2[j]){
i++;
j++;
}
if(s1[i] != s2[j]){
returns.push_back(s1[i]);
i++;
}
}
}
return returns;
}
int main()
{
string s="I am using hackerrank to improve programming";
string s2 = "am hackerrank to improve";
vector<string> s4 = missingWords(s,s2);
for(int i = 0; i<s4.size() ; i++){
cout << s4[i] << " ";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y3N0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2ZWN0b3I8c3RyaW5nPiBzcGxpdChzdHJpbmcgcykgewoJdmVjdG9yPHN0cmluZz4gd29yZHM7CglzdHJpbmcgd29yZCA9ICIiOwoJaW50IGwgPSBzLmxlbmd0aCgpOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBsOyArK2kpIHsKCQlpZiAoc1tpXSAhPSAnICcpIHsKCQkJd29yZCArPSBzW2ldOwoJCX0KCQlpZiAoc1tpXSA9PSAnICcpIHsKCQkJd29yZHMucHVzaF9iYWNrKHdvcmQpOwoJCQkJd29yZCA9ICIiOwoJCX0KCX0KCXJldHVybiB3b3JkczsKfQoKCnZlY3RvcjxzdHJpbmc+IG1pc3NpbmdXb3JkcyhzdHJpbmcgcywgc3RyaW5nIHQpIHsKICAgIHZlY3RvcjxzdHJpbmc+IHMxID0gc3BsaXQocyk7CiAgICB2ZWN0b3I8c3RyaW5nPiBzMiA9IHNwbGl0KHQpOwogICAgdmVjdG9yPHN0cmluZz4gcmV0dXJucyA7CgogICAgaW50IGo9MCwgaT0wOwoKICAgIHdoaWxlKGk8czEuc2l6ZSgpKXsKICAgICAgICB3aGlsZShqPHMyLnNpemUoKSl7CiAgICAgICAgICAgIGlmKHMxW2ldID09IHMyW2pdKXsKICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgICAgIGorKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZihzMVtpXSAhPSBzMltqXSl7CiAgICAgICAgICAgICAgICByZXR1cm5zLnB1c2hfYmFjayhzMVtpXSk7CiAgICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgIH0KCiAgICAgICAgfQoKICAgIH0KCgogICAgcmV0dXJuIHJldHVybnM7Cn0KCgoKCmludCBtYWluKCkKewogICAgc3RyaW5nIHM9IkkgYW0gdXNpbmcgaGFja2VycmFuayB0byBpbXByb3ZlIHByb2dyYW1taW5nIjsKICAgIHN0cmluZyBzMiA9ICJhbSBoYWNrZXJyYW5rIHRvIGltcHJvdmUiOwoKICAgIHZlY3RvcjxzdHJpbmc+IHM0ID0gbWlzc2luZ1dvcmRzKHMsczIpOwoKICAgIGZvcihpbnQgaSA9IDA7IGk8czQuc2l6ZSgpIDsgaSsrKXsKICAgICAgICBjb3V0IDw8IHM0W2ldIDw8ICIgIjsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=