#include <iostream>
#include <fstream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
int x0=1,x1=0,x2=5,x3=0,y0=1,y1=0,y2=0,y3=5;
double R1,R2,R3;
string ResStr;
ifstream file("trian.dat");
/*if (!file.is_open()) {
cout<<"file not open";
return 1;
}*/
file>>x1>>y1;
file>>x2>>y2;
file>>x3>>y3;
file>>x0>>y0;
file.close();
/*cout<<x1<<" "<<y1<<endl;
cout<<x2<<" "<<y2<<endl;
cout<<x3<<" "<<y3<<endl;
cout<<x0<<" "<<y0<<endl;*/
R1=(x1 - x0) * (y2 - y1) - (x2 - x1) * (y1 - y0);
R2=(x2 - x0) * (y3 - y2) - (x3 - x2) * (y2 - y0);
R3=(x3 - x0) * (y1 - y3) - (x1 - x3) * (y3 - y0);
//cout<<R1<<" "<<R2<<" "<<R3<<endl;
ofstream file1("trian.sol");
/*if (!file1.is_open()) {
cout<<"file not open";
return 1;
}*/
if ((R1>=0 && R2>=0 && R3>=0)||(R1<=0 && R2<=0 && R3<=0)) {
ResStr="YES";
} else
ResStr="NO";
/*file1<<ResStr;
file1.close();
*/
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KLyogcnVuIHRoaXMgcHJvZ3JhbSB1c2luZyB0aGUgY29uc29sZSBwYXVzZXIgb3IgYWRkIHlvdXIgb3duIGdldGNoLCBzeXN0ZW0oInBhdXNlIikgb3IgaW5wdXQgbG9vcCAqLwp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpIHsKCQoJaW50IHgwPTEseDE9MCx4Mj01LHgzPTAseTA9MSx5MT0wLHkyPTAseTM9NTsKCWRvdWJsZSBSMSxSMixSMzsKCXN0cmluZyBSZXNTdHI7CgkKCWlmc3RyZWFtIGZpbGUoInRyaWFuLmRhdCIpOwoJLyppZiAoIWZpbGUuaXNfb3BlbigpKSB7CgkJY291dDw8ImZpbGUgbm90IG9wZW4iOwoJCXJldHVybiAxOwoJfSovCQoJZmlsZT4+eDE+PnkxOwoJZmlsZT4+eDI+PnkyOwoJZmlsZT4+eDM+PnkzOwoJZmlsZT4+eDA+PnkwOwoJZmlsZS5jbG9zZSgpOwoJCgkvKmNvdXQ8PHgxPDwiICI8PHkxPDxlbmRsOwoJY291dDw8eDI8PCIgIjw8eTI8PGVuZGw7Cgljb3V0PDx4Mzw8IiAiPDx5Mzw8ZW5kbDsKCWNvdXQ8PHgwPDwiICI8PHkwPDxlbmRsOyovCgoJUjE9KHgxIC0geDApICogKHkyIC0geTEpIC0gKHgyIC0geDEpICogKHkxIC0geTApOwoJUjI9KHgyIC0geDApICogKHkzIC0geTIpIC0gKHgzIC0geDIpICogKHkyIC0geTApOwoJUjM9KHgzIC0geDApICogKHkxIC0geTMpIC0gKHgxIC0geDMpICogKHkzIC0geTApOwoJLy9jb3V0PDxSMTw8IiAiPDxSMjw8IiAiPDxSMzw8ZW5kbDsKCglvZnN0cmVhbSBmaWxlMSgidHJpYW4uc29sIik7CgkvKmlmICghZmlsZTEuaXNfb3BlbigpKSB7CgkJY291dDw8ImZpbGUgbm90IG9wZW4iOwoJCXJldHVybiAxOwoJfSovCgoJaWYgKChSMT49MCAmJiBSMj49MCAmJiBSMz49MCl8fChSMTw9MCAmJiBSMjw9MCAmJiBSMzw9MCkpIHsKCQlSZXNTdHI9IllFUyI7Cgl9IGVsc2UKCQlSZXNTdHI9Ik5PIjsKCgkvKmZpbGUxPDxSZXNTdHI7CglmaWxlMS5jbG9zZSgpOwoqLwoJcmV0dXJuIDA7Cn0=