#include?<stdexcept>
//?判斷(x,?y),?(xx,?yy)是否在由(x1,?y1)和(x2,?y2)組成的直線的同壹側
bool?on_the_same_side(
int?const?x,
int?const?y,
int?const?xx,
int?const?yy,
int?const?x1,
int?const?y1,
int?const?x2,
int?const?y2
)?{
int?const
dx21?=?x2?-?x1,?dy21?=?y2?-?y1,
dx?=?x?-?x1,?dy?=?y?-?y1,
dxx?=?xx?-?x1,?dyy?=?yy?-?y1,
tmp?=?dxx*dy21?-?dyy*dx21;
if?(tmp?==?0)?throw?std::invalid_argument("不是三角形");
return
(dx*dy21?-?dy*dx21?>=?0)?==
(tmp?>?0);
}
int?main()?{
int?x1,?y1,?x2,?y2,?x3,?y3,?x,?y;
std::cin?>>?x1?>>?y1
>>?x2?>>?y2
>>?x3?>>?y3
>>?x?>>?y;
try?{
std::cout?<<?(
on_the_same_side(x,?y,?x3,?y3,?x1,?y1,?x2,?y2)?&&
on_the_same_side(x,?y,?x2,?y2,?x1,?y1,?x3,?y3)?&&
on_the_same_side(x,?y,?x1,?y1,?x2,?y2,?x3,?y3))?<<?"\n";
}
catch?(std::exception?const?&err)?{
std::cerr?<<?err.what()?<<?"\n";
return?__LINE__;
}
return?0;
}