#include <iostream>
#include <sstream>
using namespace std;
int main() {
stringstream ss("this is a quite long name 1 2 3 4");
string name;
string name_item;
int i;
do {
ss >> name_item;
name += name_item + ' ';
ss >> i;
if ( ss.eof() ) {
//required only in case no ints are passed
} else if ( ss.fail() ) { //we tried to extract an int, but there was another string
ss.clear();
} else { //here we extract all the ints
cout << i << ' ';
while (ss >> i) {
cout << i << ' ';
}
}
} while (!ss.eof());
name.erase(name.length()-1);
cout << endl << name << '.' << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKIHN0cmluZ3N0cmVhbSBzcygidGhpcyBpcyBhIHF1aXRlIGxvbmcgbmFtZSAxIDIgMyA0Iik7CiBzdHJpbmcgbmFtZTsKIHN0cmluZyBuYW1lX2l0ZW07CiBpbnQgaTsKIGRvIHsKICAgc3MgPj4gbmFtZV9pdGVtOwogICBuYW1lICs9IG5hbWVfaXRlbSArICcgJzsKICAgc3MgPj4gaTsKICAgaWYgKCBzcy5lb2YoKSApIHsKICAgICAvL3JlcXVpcmVkIG9ubHkgaW4gY2FzZSBubyBpbnRzIGFyZSBwYXNzZWQKICAgfSBlbHNlIGlmICggc3MuZmFpbCgpICkgeyAvL3dlIHRyaWVkIHRvIGV4dHJhY3QgYW4gaW50LCBidXQgdGhlcmUgd2FzIGFub3RoZXIgc3RyaW5nCiAgICAgc3MuY2xlYXIoKTsKICAgfSBlbHNlIHsgLy9oZXJlIHdlIGV4dHJhY3QgYWxsIHRoZSBpbnRzCiAgIAkgY291dCA8PCBpIDw8ICcgJzsKCSB3aGlsZSAoc3MgPj4gaSkgewoJICAgY291dCA8PCBpIDw8ICcgJzsKCSB9CiAgIH0KIH0gd2hpbGUgKCFzcy5lb2YoKSk7CiBuYW1lLmVyYXNlKG5hbWUubGVuZ3RoKCktMSk7CiBjb3V0IDw8IGVuZGwgPDwgbmFtZSA8PCAnLicgPDwgZW5kbDsKfQ==