/* Uždavinys:   Obuoliai (obuoliai-vyr)
 * Olimpiada:   LIO'21
 * Etapas:      miesto (rajono)
 * Grupė:       vyresniųjų
 *
 * Autorius:    Linas Petrauskas
 *
 * Uždavinys prašo tiesiog suskaičiuoti, kiek yra obuolių, 
 * kurių atstumas iki artimiausios obels būtų mažesnis už 3 metrus.
 * Kadangi visos pateiktos koordinatės yra sveikieji skaičiai, ir tikrinama, 
 * ar atstumas mažesnis už 3 metrus, galima apsieiti be Pitagoro teoremos
 * ir tikrinti, ar abiejų koordinačių skirtumai moduliu mažesni už 3.
 * 
 * Ši programa taip pat tikrina pradinių duomenų korektiškumą.
 *
 */

#include <cstdio>
#include <cstdlib>
#include <cassert>

using namespace std;

    const int maxn = 10, maxm = 100, maxcoord = 100;

    int n, m, X[maxn], Y[maxn], x, y, ans;

int main()
{
    /*
    freopen("obuoliai.in", "r", stdin);
    freopen("obuoliai.out", "w", stdout);
    */
    
    scanf("%d", &n);

    assert(n >= 1 && n <= maxn);
    if (n == 1)
        fprintf(stderr, "n = 1\n");
    else
        fprintf(stderr, "n > 1\n");

    for (int i = 0; i < n; i++) {
        scanf("%d %d", &X[i], &Y[i]);
        assert(X[i] >= -maxcoord && X[i] <= maxcoord);
        assert(Y[i] >= -maxcoord && Y[i] <= maxcoord);
    }

    ans = 0;
    scanf("%d", &m);
    for (int i = 0; i < m; i++) {
        scanf("%d %d", &x, &y);
        for (int j = 0; j < n; j++)
            if (abs(X[j] - x) < 3 && abs(Y[j] - y) < 3) {
                ans++;
                break;
            }
    }
    
    printf("%d\n", ans);
    return 0;
}

