import java.util.Scanner;
public class Main2 {
// public static int dir[][] = {{0,1},{0,-1},{-1,0},{1,0},{1,1},{1,-1},{-1,1},{-1,-1}};
public static boolean mp[][]=new boolean[8][8];
// public static boolean vis[][]= new boolean[8][8];
public static int ans=0;
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
int n,m;
n=sca.nextInt();
m=sca.nextInt();
for(int i = 0;i < n; i++) {
int t,k;
t=sca.nextInt();
k=sca.nextInt();
mp[k+3][t+3] = true;
}
for(int i = 0;i < m; i++) {
sca.nextInt();
sca.nextInt();
}
/*for(int i = 0;i < 7;i++) {
for(int j = 0; j < 7;j++) {
System.out.print(mp[i][j]+" ");
if(j==6) {
System.out.println();
}
}
}*/
check();
System.out.println(ans);
}
private static void check() {
ans += check(mp[0][0],mp[0][3],mp[0][6]);
ans += check(mp[1][1],mp[1][3],mp[1][5]);
ans += check(mp[2][2],mp[2][3],mp[2][4]);
ans += check(mp[3][0],mp[3][1],mp[3][2]);
ans += check(mp[3][4],mp[3][5],mp[3][6]);
ans += check(mp[4][2],mp[4][3],mp[4][4]);
ans += check(mp[5][1],mp[5][3],mp[5][5]);
ans += check(mp[6][0],mp[6][3],mp[6][6]); //此8条是横轴 的直线
ans += check(mp[0][0],mp[3][0],mp[6][0]);
ans += check(mp[1][1],mp[3][1],mp[5][1]);
ans += check(mp[2][2],mp[3][2],mp[4][2]);
ans += check(mp[0][3],mp[1][3],mp[2][3]);
ans += check(mp[4][3],mp[5][3],mp[6][3]);
ans += check(mp[2][4],mp[3][4],mp[4][4]);
ans += check(mp[1][5],mp[3][5],mp[5][5]);
ans += check(mp[0][6],mp[3][6],mp[6][6]); //此8条是纵轴 直线
}
private static int check(boolean b, boolean c, boolean d) {
if((b == true) && (c ==true) && (d == true)) {
return 1;
}
return 0;
}
}