#include <iostream>
int s(int a[2], int b[2], int c[2]) {
int t = (a[0] - b[0]) * (a[1] - c[1]) - (a[0] - c[0]) * (a[1] - b[1]);
return t < 0 ? -1 : t > 0 ? 1 : 0;
}
bool start(int p[5][2]) {
int t = s(p[0], p[1], p[2]);
if (t == 0) return false;
for (int i = 0; i < 5; i++) {
if (s(p[i], p[(i + 3) % 5], p[(i + 1) % 5]) != t) return false;
}
return true;
}
int main() {
int p[][5][2] = {
{{0,0},{1,2},{2,0},{0,1},{2,1}},
{{0,0},{1,2},{2,0},{0,2},{2,2}},
{{0,0},{0,1},{1,2},{2,1},{2,0}},
{{0,0},{5,5},{0,5},{1,0},{1,6}},
};
for (int i = 0; i < sizeof p / sizeof p[0]; i++) {
std::cout << (start(p[i]) ? "true" : "false") << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgppbnQgcyhpbnQgYVsyXSwgaW50IGJbMl0sIGludCBjWzJdKSB7CglpbnQgdCA9IChhWzBdIC0gYlswXSkgKiAoYVsxXSAtIGNbMV0pIC0gKGFbMF0gLSBjWzBdKSAqIChhWzFdIC0gYlsxXSk7CglyZXR1cm4gdCA8IDAgPyAtMSA6IHQgPiAwID8gMSA6IDA7Cn0KYm9vbCBzdGFydChpbnQgcFs1XVsyXSkgewoJaW50IHQgPSBzKHBbMF0sIHBbMV0sIHBbMl0pOwoJaWYgKHQgPT0gMCkgcmV0dXJuIGZhbHNlOwoJZm9yIChpbnQgaSA9IDA7IGkgPCA1OyBpKyspIHsKCQlpZiAocyhwW2ldLCBwWyhpICsgMykgJSA1XSwgcFsoaSArIDEpICUgNV0pICE9IHQpIHJldHVybiBmYWxzZTsKCX0KCXJldHVybiB0cnVlOwp9CmludCBtYWluKCkgewoJaW50IHBbXVs1XVsyXSA9IHsKCQl7ezAsMH0sezEsMn0sezIsMH0sezAsMX0sezIsMX19LAoJCXt7MCwwfSx7MSwyfSx7MiwwfSx7MCwyfSx7MiwyfX0sCgkJe3swLDB9LHswLDF9LHsxLDJ9LHsyLDF9LHsyLDB9fSwKCQl7ezAsMH0sezUsNX0sezAsNX0sezEsMH0sezEsNn19LAoJfTsKCWZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZW9mIHAgLyBzaXplb2YgcFswXTsgaSsrKSB7CgkJc3RkOjpjb3V0IDw8IChzdGFydChwW2ldKSA/ICJ0cnVlIiA6ICJmYWxzZSIpIDw8IHN0ZDo6ZW5kbDsKCX0KCXJldHVybiAwOwp9Cg==