#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main() {
istringstream iss("2.832 1.3067 nana1.678 xxx.05xyz");
double num = 0;
while(iss >> num || !iss.eof()) {
if(iss.fail()) {
iss.clear();
int loopcount = 0;
while(iss) {
char dummy = iss.peek();
if(std::isdigit(dummy) || dummy == '.') {
// Stop consuming invalid double characters
break;
}
else {
iss >> dummy; // Consume invalid double characters
}
std::cout << "loop " << loopcount++ << std::endl;
}
continue;
}
cout << num << endl;
}
return 0;
}
CSNpbmNsdWRlIDxpb3N0cmVhbT4KCSNpbmNsdWRlIDxzc3RyZWFtPgoJI2luY2x1ZGUgPHN0cmluZz4KCXVzaW5nIG5hbWVzcGFjZSBzdGQ7CgkKCWludCBtYWluKCkgewoJCgkJaXN0cmluZ3N0cmVhbSBpc3MoIjIuODMyIDEuMzA2NyBuYW5hMS42NzggeHh4LjA1eHl6Iik7CgkJZG91YmxlIG51bSA9IDA7CgkJd2hpbGUoaXNzID4+IG51bSB8fCAhaXNzLmVvZigpKSB7CgkJCWlmKGlzcy5mYWlsKCkpIHsKCQkJCWlzcy5jbGVhcigpOwoJCQkJaW50IGxvb3Bjb3VudCA9IDA7CgkJCQl3aGlsZShpc3MpIHsKCQkJCQljaGFyIGR1bW15ID0gaXNzLnBlZWsoKTsKCQkJCQlpZihzdGQ6OmlzZGlnaXQoZHVtbXkpIHx8IGR1bW15ID09ICcuJykgewoJCQkJCQkvLyBTdG9wIGNvbnN1bWluZyBpbnZhbGlkIGRvdWJsZSBjaGFyYWN0ZXJzCgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCQllbHNlIHsKCQkJCQkgICAgaXNzID4+IGR1bW15OyAvLyBDb25zdW1lIGludmFsaWQgZG91YmxlIGNoYXJhY3RlcnMKCQkJCQl9CgkJCQkJc3RkOjpjb3V0IDw8ICJsb29wICIgPDwgbG9vcGNvdW50KysgPDwgc3RkOjplbmRsOwoJCQkJfQoJCQkJY29udGludWU7CgkJCX0KCQkJY291dCA8PCBudW0gPDwgZW5kbDsKCQl9CgkJcmV0dXJuIDA7Cgl9