#include #define pol 16 int main(void) { char pole[pol][pol],c; int n,i,j,m,k1,k2,l1,l2,ub = 0,ran = 0,d; d=pol-3; for (i = 3;i < d;i++) { for (j = 3;j < d;j++) pole[i][j] = getchar(); c = getchar(); } for (i = 0;i < pol;i++) { pole[i][0] = '.'; pole[i][1] = '.'; pole[i][2] = '.'; pole[i][13] = '.'; pole[i][14] = '.'; pole[i][15] = '.'; } for (i = 0;i < pol;i++) { pole[0][i] = '.'; pole[1][i] = '.'; pole[2][i] = '.'; pole[13][i] = '.'; pole[14][i] = '.'; pole[15][i] = '.'; } /*printf("vvedeno\n");*/ scanf("%d\n",&n); for (m = 1;m <= n; m++) { scanf("%d %d",&i,&j); /*printf("vvedeno\n");*/ i += 2; j += 2; if ((pole[i][j] == '*') || (pole[i][j] == '#')) { pole[i][j] = '!'; k1 = k2 = l1 = l2 = 0; if ((pole[i - 1][j] == '*') || (pole[i - 1][j] == '#') || (pole[i - 1][j] == '!')) k1 = 1; if ((pole[i][j - 1] == '*') || (pole[i][j - 1] == '#') || (pole[i][j - 1] == '!')) k2 = 1; if ((pole[i + 1][j] == '*') || (pole[i + 1][j] == '#') || (pole[i + 1][j] == '!')) l1 = 1; if ((pole[i][j + 1] == '*') || (pole[i][j + 1] == '#') || (pole[i][j + 1] == '!')) l2 = 1; if ((k1 == 0) && (k2 == 0) && (l1 == 0) && (l2 == 0)) ++ub; } else { if ((pole[i - 1][j] == '*') || (pole[i][j - 1] == '*') || (pole[i + 1][j] == '*') || (pole[i][j + 1] == '*')) { ++ran; if (pole[i - 1][j] == '*') { pole[i - 1][j] = '#'; if (pole[i - 2][j] == '*') pole[i - 2][j] = '#'; } if (pole[i + 1][j] == '*') { pole[i + 1][j] = '#'; if (pole[i + 2][j] == '*') pole[i + 2][j] = '#'; } if (pole[i][j - 1] == '*') { pole[i][j - 1] = '#'; if (pole[i][j - 2] == '*') pole[i][j - 2] = '#'; } if (pole[i][j + 1] == '*') { pole[i][j + 1] = '#'; if (pole[i][j + 2] == '*') pole[i][j + 2] = '#'; } } if ((pole[i - 1][j] == '!') || (pole[i + 1][j] == '!') || (pole[i][j - 1] == '!') || (pole[i][j + 1] == '!')) { k1 = k2 = l1 = l2 = 0; if (pole[i - 1][j] == '!') if (pole[i - 2][j] == '!') if ((pole[i - 3][j] == '!') || (pole[i - 3][j] == '.')) ++k1; else if (pole[i + 2][j] == '.') ++k1; if (pole[i + 1][j] == '!') if (pole[i + 2][j] == '!') if ((pole[i + 3][j] == '!') || (pole[i + 3][j] == '.')) ++l1; else if (pole[i + 2][j] == '.') ++l1; if (pole[i][j - 1] == '!') if (pole[i][j - 2] == '!') if ((pole[i][j - 3] == '!') || (pole[i][j - 3] == '.')) ++k2; else if (pole[i][j - 2] == '.') ++k2; if (pole[i][j + 1] == '!') if (pole[i][j + 2] == '!') if ((pole[i][j + 3] == '!') || (pole[i][j + 3] == '.')) ++l2; else if (pole[i][j + 2] == '.') ++l2; if ((k1 + k2 + l1 + l2) == 4) { ++ub; --ran; } } } } } printf ("%d %d\n",ran,ub); /*for (i = 2;i < d;i++) { for (j = 2;j < d;j++) putchar(pole[i][j]); printf("\n"); }*/ return 0; }