#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int
max (int a, int b)
{
return a > b ? a : b;
}
int
min (int a, int b)
{
return a < b ? a : b;
}
int
protect_value (int value)
{
return max(0, min(7, value));
}
bool
is_terminal (char c)
{
return (c == ' ') || (c == '\n') || (c == EOF) || (c == '\t');
}
int
main (void)
{
bool is_free[8][8];
signed short next_letter;
for(int i = 0; i < 8; i++)
{
for(int j = 0; j < 8; j++)
{
is_free[i][j] = 1;
}
}
while (!is_terminal
(next_letter
= getchar())) {
signed short next_digit
= getchar(); int x = next_letter - 'a', y = next_digit - '1';
for (int i = -1; i <= 1; i++)
{
for (int j = -1; j <= 1; j++)
{
is_free[i][j] = 0;
}
}
}
int answer = 0;
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
answer += is_free[i][j] ? 1 : 0;
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0ZGJvb2wuaD4KCgppbnQKbWF4IChpbnQgYSwgaW50IGIpCnsKICAgIHJldHVybiBhID4gYiA/IGEgOiBiOwp9CgppbnQKbWluIChpbnQgYSwgaW50IGIpCnsKICAgIHJldHVybiBhIDwgYiA/IGEgOiBiOwp9CgppbnQKcHJvdGVjdF92YWx1ZSAoaW50IHZhbHVlKQp7CiAgICByZXR1cm4gbWF4KDAsIG1pbig3LCB2YWx1ZSkpOwp9Cgpib29sCmlzX3Rlcm1pbmFsIChjaGFyIGMpCnsKCXJldHVybiAoYyA9PSAnICcpIHx8IChjID09ICdcbicpIHx8IChjID09IEVPRikgfHwgKGMgPT0gJ1x0Jyk7Cn0KCmludAptYWluICh2b2lkKQp7CiAgICBib29sIGlzX2ZyZWVbOF1bOF07CiAgICBzaWduZWQgc2hvcnQgbmV4dF9sZXR0ZXI7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgODsgaSsrKQogICAgewogICAgCWZvcihpbnQgaiA9IDA7IGogPCA4OyBqKyspCiAgICAJewogICAgCQlpc19mcmVlW2ldW2pdID0gMTsKICAgIAl9CiAgICB9CiAgICB3aGlsZSAoIWlzX3Rlcm1pbmFsKG5leHRfbGV0dGVyID0gZ2V0Y2hhcigpKSkKICAgIHsKICAgICAgICBzaWduZWQgc2hvcnQgbmV4dF9kaWdpdCA9IGdldGNoYXIoKTsKICAgICAgICBpbnQgeCA9IG5leHRfbGV0dGVyIC0gJ2EnLCB5ID0gbmV4dF9kaWdpdCAtICcxJzsKICAgICAgICBmb3IgKGludCBpID0gLTE7IGkgPD0gMTsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgZm9yIChpbnQgaiA9IC0xOyBqIDw9IDE7IGorKykKICAgICAgICAgICAgewogICAgICAgICAgICAJaXNfZnJlZVtpXVtqXSA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBpbnQgYW5zd2VyID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgODsgaSsrKQogICAgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgODsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgYW5zd2VyICs9IGlzX2ZyZWVbaV1bal0gPyAxIDogMDsKICAgICAgICB9CiAgICB9CiAgICBwcmludGYoIiVkIiwgYW5zd2VyKTsKICAgIHJldHVybiAwOwp9Cg==