#include <fstream>
#include <vector>
using namespace std;
ifstream fin("regiuni.in");
ofstream fout("regiuni.out");
const int MAXN = 1005;
short a[MAXN], b[MAXN], c[MAXN];
unsigned int Hash[MAXN];
short x, y, N, M, Ans;
bool alone, sign;
int main() {
fin >> N >> M;
a.reserve(N);
b.reserve(N);
c.reserve(N);
Hash.reserve(M);
for(short i = 0 ; i < N ; ++ i)
fin >> a[i] >> b[i] >> c[i];
for(short i = 0 ; i < M ; ++ i) {
fin >> x >> y;
for(short j = 0 ; j < N ; ++ j) {
sign = ((a[j] * x + b[j] * y + c[j]) > 0);
Hash[i] = ((Hash[i] << 1) + sign);
}
}
for(short i = 0 ; i < M ; ++ i) {
alone = true;
for(short j = 0 ; j < i && alone ; ++ j)
if(Hash[i] == Hash[j])
alone = false;
Ans += alone;
}
fout << Ans << '\n';
fin.close();
fout.close();
return 0;
}