#include <iostream>
#include <string>
using namespace std;
struct Point { int x, y; };
struct Line { Point a, b; };
struct Color { float r, g, b; string name; };
struct ColorfulLine { Line line; Color color; };
istream& operator>>(istream& in, Point& point) { return in >> point.x >> point.y; };
istream& operator>>(istream& in, Line& line) { return in >> line.a >> line.b; };
istream& operator>>(istream& in, Color& color) { return in >> color.name >> color.r >> color.g >> color.b; };
istream& operator>>(istream& in, ColorfulLine& line) { return in >> line.color >> line.line; };
int main() {
Line line;
while(cin >> line) { cout << "We've got a line!\n"; }
cin.clear();
ColorfulLine color_line;
while(cin >> color_line) { cout << "We've got a colorful line!\n"; }
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IFBvaW50IHsgaW50IHgsIHk7IH07IApzdHJ1Y3QgTGluZSB7IFBvaW50IGEsIGI7IH07CnN0cnVjdCBDb2xvciB7IGZsb2F0IHIsIGcsIGI7IHN0cmluZyBuYW1lOyB9OwpzdHJ1Y3QgQ29sb3JmdWxMaW5lIHsgTGluZSBsaW5lOyBDb2xvciBjb2xvcjsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmlzdHJlYW0mIG9wZXJhdG9yPj4oaXN0cmVhbSYgaW4sIFBvaW50JiBwb2ludCkgeyByZXR1cm4gaW4gPj4gcG9pbnQueCA+PiBwb2ludC55OyB9Owppc3RyZWFtJiBvcGVyYXRvcj4+KGlzdHJlYW0mIGluLCBMaW5lJiBsaW5lKSB7IHJldHVybiBpbiA+PiBsaW5lLmEgPj4gbGluZS5iOyB9Owppc3RyZWFtJiBvcGVyYXRvcj4+KGlzdHJlYW0mIGluLCBDb2xvciYgY29sb3IpIHsgcmV0dXJuIGluID4+IGNvbG9yLm5hbWUgPj4gY29sb3IuciA+PiBjb2xvci5nID4+IGNvbG9yLmI7IH07CmlzdHJlYW0mIG9wZXJhdG9yPj4oaXN0cmVhbSYgaW4sIENvbG9yZnVsTGluZSYgbGluZSkgeyByZXR1cm4gaW4gPj4gbGluZS5jb2xvciA+PiBsaW5lLmxpbmU7IH07CgppbnQgbWFpbigpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBMaW5lIGxpbmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIHdoaWxlKGNpbiA+PiBsaW5lKSB7IGNvdXQgPDwgIldlJ3ZlIGdvdCBhIGxpbmUhXG4iOyB9ICAgICAgICAgICAgICAKICAgIAogICAgY2luLmNsZWFyKCk7CiAgICAKICAgIENvbG9yZnVsTGluZSBjb2xvcl9saW5lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICB3aGlsZShjaW4gPj4gY29sb3JfbGluZSkgeyBjb3V0IDw8ICJXZSd2ZSBnb3QgYSBjb2xvcmZ1bCBsaW5lIVxuIjsgfSAKCiAgICByZXR1cm4gMDsKfQo=