#include <iostream>
#include <utility>
using namespace std;
typedef pair<int,int> point;
int SegmentsAreParallel(const point & i, const point & j, const point & k)
{
int dx1, dy1, dx2, dy2;
dx1 = j.first - i.first;
dy1 = j.second - i.second;
dx2 = k.first - i.first;
dy2 = k.second - i.second;
return dx1 * dy2 - dy1 * dx2 == 0;
}
int main()
{
point p1(0, 0);
point p2(1, 1);
point p3(2, 2);
point p4(-1, -1);
point p5(1, -1);
point p6(0, 10);
point p7(0, 100);
point p8(10, 0);
point p9(100, 0);
cout << SegmentsAreParallel(p1, p2, p3) << endl;
cout << SegmentsAreParallel(p1, p2, p4) << endl;
cout << SegmentsAreParallel(p1, p2, p5) << endl;
cout << SegmentsAreParallel(p1, p6, p7) << endl;
cout << SegmentsAreParallel(p1, p8, p9) << endl;
cout << SegmentsAreParallel(p1, p6, p9) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dXRpbGl0eT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIHBhaXI8aW50LGludD4gcG9pbnQ7CgppbnQgU2VnbWVudHNBcmVQYXJhbGxlbChjb25zdCBwb2ludCAmIGksIGNvbnN0IHBvaW50ICYgaiwgY29uc3QgcG9pbnQgJiBrKQp7CiAgICBpbnQgZHgxLCBkeTEsIGR4MiwgZHkyOwogICAgCiAgICBkeDEgPSBqLmZpcnN0IC0gaS5maXJzdDsKICAgIGR5MSA9IGouc2Vjb25kIC0gaS5zZWNvbmQ7CiAgICAKICAgIGR4MiA9IGsuZmlyc3QgLSBpLmZpcnN0OwogICAgZHkyID0gay5zZWNvbmQgLSBpLnNlY29uZDsKCiAgICByZXR1cm4gZHgxICogZHkyIC0gZHkxICogZHgyID09IDA7Cn0KCmludCBtYWluKCkKewogIHBvaW50IHAxKDAsIDApOwogIHBvaW50IHAyKDEsIDEpOwogIHBvaW50IHAzKDIsIDIpOwogIHBvaW50IHA0KC0xLCAtMSk7CiAgcG9pbnQgcDUoMSwgLTEpOwogIHBvaW50IHA2KDAsIDEwKTsKICBwb2ludCBwNygwLCAxMDApOwogIHBvaW50IHA4KDEwLCAwKTsKICBwb2ludCBwOSgxMDAsIDApOwoKICBjb3V0IDw8IFNlZ21lbnRzQXJlUGFyYWxsZWwocDEsIHAyLCBwMykgPDwgZW5kbDsKICBjb3V0IDw8IFNlZ21lbnRzQXJlUGFyYWxsZWwocDEsIHAyLCBwNCkgPDwgZW5kbDsKICBjb3V0IDw8IFNlZ21lbnRzQXJlUGFyYWxsZWwocDEsIHAyLCBwNSkgPDwgZW5kbDsKICBjb3V0IDw8IFNlZ21lbnRzQXJlUGFyYWxsZWwocDEsIHA2LCBwNykgPDwgZW5kbDsKICBjb3V0IDw8IFNlZ21lbnRzQXJlUGFyYWxsZWwocDEsIHA4LCBwOSkgPDwgZW5kbDsKICBjb3V0IDw8IFNlZ21lbnRzQXJlUGFyYWxsZWwocDEsIHA2LCBwOSkgPDwgZW5kbDsKCiAgcmV0dXJuIDA7Cn0K