#include <iostream>
#include <string>
#include <vector>
#include <stdexcept>
struct itemInfo
{
int quantity;
std::string name;
double price;
};
int main()
{
std::string line;
std::vector<itemInfo> items;
while (std::getline(std::cin, line))
{
try
{
itemInfo item;
auto start = line.find_first_not_of(" \t");
auto stop = line.find_first_of(" \t", start + 1);
item.quantity = std::stoi(line.substr(start, stop - start));
start = line.find_first_not_of(" \t", stop + 1);
stop = line.find(" at ", start);
item.name = line.substr(start, stop - start);
start = line.find_first_not_of(" \t", stop + 4);
item.price = std::stod(line.substr(start));
items.push_back(item);
}
catch (const std::logic_error &) { }
}
// use items as needed...
for(auto &item : items)
{
std::cout << item.name << ": " << item.quantity << " @ " << item.price << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RkZXhjZXB0PgoJCnN0cnVjdCBpdGVtSW5mbwp7CiAgICBpbnQgcXVhbnRpdHk7CiAgICBzdGQ6OnN0cmluZyBuYW1lOwogICAgZG91YmxlIHByaWNlOwp9OwoKaW50IG1haW4oKQp7CiAgICBzdGQ6OnN0cmluZyBsaW5lOwoJc3RkOjp2ZWN0b3I8aXRlbUluZm8+IGl0ZW1zOwoKICAgIHdoaWxlIChzdGQ6OmdldGxpbmUoc3RkOjpjaW4sIGxpbmUpKQogICAgeyAKICAgICAgICB0cnkKICAgICAgICB7CgkJICAgIGl0ZW1JbmZvIGl0ZW07CgogICAgICAgICAgICBhdXRvIHN0YXJ0ID0gbGluZS5maW5kX2ZpcnN0X25vdF9vZigiIFx0Iik7CiAgICAgICAgICAgIGF1dG8gc3RvcCA9IGxpbmUuZmluZF9maXJzdF9vZigiIFx0Iiwgc3RhcnQgKyAxKTsKICAgICAgICAgICAgaXRlbS5xdWFudGl0eSA9IHN0ZDo6c3RvaShsaW5lLnN1YnN0cihzdGFydCwgc3RvcCAtIHN0YXJ0KSk7CgogICAgICAgICAgICBzdGFydCA9IGxpbmUuZmluZF9maXJzdF9ub3Rfb2YoIiBcdCIsIHN0b3AgKyAxKTsKICAgICAgICAgICAgc3RvcCA9IGxpbmUuZmluZCgiIGF0ICIsIHN0YXJ0KTsKICAgICAgICAgICAgaXRlbS5uYW1lID0gbGluZS5zdWJzdHIoc3RhcnQsIHN0b3AgLSBzdGFydCk7CgogICAgICAgICAgICBzdGFydCA9IGxpbmUuZmluZF9maXJzdF9ub3Rfb2YoIiBcdCIsIHN0b3AgKyA0KTsKICAgICAgICAgICAgaXRlbS5wcmljZSA9IHN0ZDo6c3RvZChsaW5lLnN1YnN0cihzdGFydCkpOwoKICAgICAgICAgICAgaXRlbXMucHVzaF9iYWNrKGl0ZW0pOwogICAgICAgIH0KICAgICAgICBjYXRjaCAoY29uc3Qgc3RkOjpsb2dpY19lcnJvciAmKSB7IH0KICAgIH0KCiAgICAvLyB1c2UgaXRlbXMgYXMgbmVlZGVkLi4uCgoJZm9yKGF1dG8gJml0ZW0gOiBpdGVtcykKCXsKICAgIAlzdGQ6OmNvdXQgPDwgaXRlbS5uYW1lIDw8ICI6ICIgPDwgaXRlbS5xdWFudGl0eSA8PCAiIEAgIiA8PCBpdGVtLnByaWNlIDw8IHN0ZDo6ZW5kbDsKCX0KCiAgICByZXR1cm4gMDsKfQ==