//horizon #include #include #include #include #include #include #include #include #include #include #include using namespace std; struct Point { int x, y; }; int m, n; Point input[100]; int TriS(Point& a, Point& b, Point& c) { return abs((b.y - a.y)*(c.x - a.x) - (c.y - a.y)*(b.x - a.x)); } int PoriS(Point& p) { int r = 0; for(int i = 0; i < n-1; ++i) { r += TriS(p, input[i], input[i+1]); } r += TriS(p, input[0], input[n-1]); return r; } int main() { ifstream cin("inside.txt"); for(int iii = 1; cin >> n >> m; ++iii) { if(n == 0) break; for(int i = 0; i < n; ++i) cin >> input[i].x >> input[i].y; int s = PoriS(input[0]); //cout << s << endl; int cnt = 0; Point p; for(int i = 0; i < m; ++i) { cin >> p.x >> p.y; //cout << PoriS(p) << endl; if(s == PoriS(p)) { ++cnt; //cout << p.x << p.y << endl; } } cout << "Data set " << iii << ": " << cnt << endl; } }