#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iterator>
using namespace std;
int main() {
string input="Hello, world ! I whish you all \na happy new year 2016 !";
vector<string> sentence;
vector<string> search{"We", "You", "I"};
stringstream sst(input); // split the string into its pieces
string tmp;
while (sst>>tmp)
sentence.push_back(tmp);
// how to manipulate easily the vecotr of words
copy(sentence.begin(), sentence.end(), ostream_iterator<string>(cout,"/"));
cout<<endl;
// search words
auto it = find_first_of(sentence.begin(), sentence.end(),
search.begin(), search.end());
// display remaining of the sentence
copy(it , sentence.end(), ostream_iterator<string>(cout,"/"));
cout<<endl;
stringstream so;
copy(it , sentence.end(), ostream_iterator<string>(so," "));
string result = so.str();
cout<<result<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPGl0ZXJhdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmludCBtYWluKCkgewoJc3RyaW5nIGlucHV0PSJIZWxsbywgd29ybGQgISBJIHdoaXNoIHlvdSBhbGwgXG5hIGhhcHB5IG5ldyB5ZWFyIDIwMTYgISI7Cgl2ZWN0b3I8c3RyaW5nPiBzZW50ZW5jZTsgCgl2ZWN0b3I8c3RyaW5nPiBzZWFyY2h7IldlIiwgIllvdSIsICJJIn07IAoJCglzdHJpbmdzdHJlYW0gc3N0KGlucHV0KTsgICAgLy8gc3BsaXQgdGhlIHN0cmluZyBpbnRvIGl0cyBwaWVjZXMgCglzdHJpbmcgdG1wOyAKCXdoaWxlIChzc3Q+PnRtcCkgCgkgICAgc2VudGVuY2UucHVzaF9iYWNrKHRtcCk7IAoJCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaG93IHRvIG1hbmlwdWxhdGUgZWFzaWx5IHRoZSB2ZWNvdHIgb2Ygd29yZHMKCWNvcHkoc2VudGVuY2UuYmVnaW4oKSwgc2VudGVuY2UuZW5kKCksIG9zdHJlYW1faXRlcmF0b3I8c3RyaW5nPihjb3V0LCIvIikpOyAgICAKCWNvdXQ8PGVuZGw7ICAgICAKCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzZWFyY2ggd29yZHMKCWF1dG8gaXQgPSAgZmluZF9maXJzdF9vZihzZW50ZW5jZS5iZWdpbigpLCBzZW50ZW5jZS5lbmQoKSwgCgkgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2guYmVnaW4oKSwgc2VhcmNoLmVuZCgpKTsgCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAKCSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRpc3BsYXkgcmVtYWluaW5nIG9mIHRoZSBzZW50ZW5jZQoJY29weShpdCAsIHNlbnRlbmNlLmVuZCgpLCBvc3RyZWFtX2l0ZXJhdG9yPHN0cmluZz4oY291dCwiLyIpKTsgICAgCgljb3V0PDxlbmRsOyAgIAoKICAgIHN0cmluZ3N0cmVhbSBzbzsKCWNvcHkoaXQgLCBzZW50ZW5jZS5lbmQoKSwgb3N0cmVhbV9pdGVyYXRvcjxzdHJpbmc+KHNvLCIgIikpOyAKCXN0cmluZyByZXN1bHQgPSBzby5zdHIoKTsgCgljb3V0PDxyZXN1bHQ8PGVuZGw7ICAgCgkKCXJldHVybiAwOwp9