#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  vector<vector<int>> a(8, vector<int>(8, 0));
  string r, k;
  cin >> r >> k;
  int ri = 8 - (r[1] - '0');
  int rj = r[0] - 'a';
  a[ri][rj] = 1;
  if (ri - 2 >= 0 && rj - 1 >= 0) a[ri - 2][rj - 1] = 1;
  if (ri - 1 >= 0 && rj - 2 >= 0) a[ri - 1][rj - 2] = 1;
  if (ri - 2 >= 0 && rj + 1 < 8) a[ri - 2][rj + 1] = 1;
  if (ri - 1 >= 0 && rj + 2 < 8) a[ri - 1][rj + 2] = 1;
  if (ri + 2 < 8 && rj + 1 < 8) a[ri + 2][rj + 1] = 1;
  if (ri + 1 < 8 && rj + 2 < 8) a[ri + 1][rj + 2] = 1;
  if (ri + 2 < 8 && rj - 1 >= 0) a[ri + 2][rj - 1] = 1;
  if (ri + 1 < 8 && rj - 2 >= 0) a[ri + 1][rj - 2] = 1;
  for (int i = 0; i < 8; ++i) {
    a[ri][i] = 1;
    a[i][rj] = 1;
  }
  ri = 8 - (k[1] - '0');
  rj = k[0] - 'a';
  a[ri][rj] = 1;
  if (ri - 2 >= 0 && rj - 1 >= 0) a[ri - 2][rj - 1] = 1;
  if (ri - 1 >= 0 && rj - 2 >= 0) a[ri - 1][rj - 2] = 1;
  if (ri - 2 >= 0 && rj + 1 < 8) a[ri - 2][rj + 1] = 1;
  if (ri - 1 >= 0 && rj + 2 < 8) a[ri - 1][rj + 2] = 1;
  if (ri + 2 < 8 && rj + 1 < 8) a[ri + 2][rj + 1] = 1;
  if (ri + 1 < 8 && rj + 2 < 8) a[ri + 1][rj + 2] = 1;
  if (ri + 2 < 8 && rj - 1 >= 0) a[ri + 2][rj - 1] = 1;
  if (ri + 1 < 8 && rj - 2 >= 0) a[ri + 1][rj - 2] = 1;
  int ans = 0;
  for (int i = 0; i < 8; ++i) {
    for (int j = 0; j < 8; ++j)
      if (a[i][j] == 0) ++ans;
  }
  cout << ans << '\n';
  return 0;
}
