#include <bits/stdc++.h>
using namespace std;
int main() {
  char n;
  int w, flag = 0;
  cin >> n >> w;
  char n1;
  int w1;
  cin >> n1 >> w1;
  int sum = 16;
  int l = n - 97 + 1;
  int l1 = n1 - 97 + 1;
  int ar[2][64];
  int k = 0;
  if ((l + 2 > 0 && l + 2 < 9) && (w - 1 > 0 && w - 1 < 9)) {
    ar[0][k] = l + 2;
    ar[1][k] = w - 1;
    k++;
    sum++;
  }
  if ((l + 2 > 0 && l + 2 < 9) && (w + 1 > 0 && w + 1 < 9)) {
    ar[0][k] = l + 2;
    ar[1][k] = w + 1;
    k++;
    sum++;
  }
  if ((l - 2 > 0 && l - 2 < 9) && (w - 1 > 0 && w - 1 < 9)) {
    ar[0][k] = l - 2;
    ar[1][k] = w - 1;
    k++;
    sum++;
  }
  if ((l - 2 > 0 && l - 2 < 9) && (w + 1 > 0 && w + 1 < 9)) {
    ar[0][k] = l - 2;
    ar[1][k] = w + 1;
    k++;
    sum++;
  }
  if ((l + 1 > 0 && l + 1 < 9) && (w - 2 > 0 && w - 2 < 9)) {
    ar[0][k] = l + 1;
    ar[1][k] = w - 2;
    k++;
    sum++;
  }
  if ((l + 1 > 0 && l + 1 < 9) && (w + 2 > 0 && w + 2 < 9)) {
    ar[0][k] = l + 1;
    ar[1][k] = w + 2;
    k++;
    sum++;
  }
  if ((l - 1 > 0 && l - 1 < 9) && (w - 2 > 0 && w - 2 < 9)) {
    ar[0][k] = l - 1;
    ar[1][k] = w - 2;
    k++;
    sum++;
  }
  if ((l - 1 > 0 && l - 1 < 9) && (w + 2 > 0 && w + 2 < 9)) {
    ar[0][k] = l - 1;
    ar[1][k] = w + 2;
    k++;
    sum++;
  }
  if ((l1 + 2 > 0 && l1 + 2 < 9) && (w1 - 1 > 0 && w1 - 1 < 9)) {
    if (l1 + 2 == l || w1 - 1 == w) {
    } else {
      for (int p = 0; p < k; p++) {
        if (ar[0][p] == l1 + 2 && ar[1][p] == w1 - 1) {
          flag = -1;
          break;
        }
      }
      if (flag == -1) {
      } else {
        sum++;
      }
    }
  }
  flag = 0;
  if ((l1 + 2 > 0 && l1 + 2 < 9) && (w1 + 1 > 0 && w1 + 1 < 9)) {
    if (l1 + 2 == l || w1 + 1 == w) {
    } else {
      for (int p = 0; p < k; p++) {
        if (ar[0][p] == l1 + 2 && ar[1][p] == w1 + 1) {
          flag = -1;
          break;
        }
      }
      if (flag == -1) {
      } else {
        sum++;
      }
    }
  }
  flag = 0;
  if ((l1 - 2 > 0 && l1 - 2 < 9) && (w1 - 1 > 0 && w1 - 1 < 9)) {
    if (l1 - 2 == l || w1 - 1 == w) {
    } else {
      for (int p = 0; p < k; p++) {
        if (ar[0][p] == l1 - 2 && ar[1][p] == w1 - 1) {
          flag = -1;
          break;
        }
      }
      if (flag == -1) {
      } else {
        sum++;
      }
    }
  }
  flag = 0;
  if ((l1 - 2 > 0 && l1 - 2 < 9) && (w1 + 1 > 0 && w1 + 1 < 9)) {
    if (l1 - 2 == l || w1 + 1 == w) {
    } else {
      for (int p = 0; p < k; p++) {
        if (ar[0][p] == l1 - 2 && ar[1][p] == w1 + 1) {
          flag = -1;
          break;
        }
      }
      if (flag == -1) {
      } else {
        sum++;
      }
    }
  }
  flag = 0;
  if ((l1 + 1 > 0 && l1 + 1 < 9) && (w1 - 2 > 0 && w1 - 2 < 9)) {
    if (l1 + 1 == l || w1 - 2 == w) {
    } else {
      for (int p = 0; p < k; p++) {
        if (ar[0][p] == l1 + 1 && ar[1][p] == w1 - 2) {
          flag = -1;
          break;
        }
      }
      if (flag == -1) {
      } else {
        sum++;
      }
    }
  }
  flag = 0;
  if ((l1 + 1 > 0 && l1 + 1 < 9) && (w1 + 2 > 0 && w1 + 2 < 9)) {
    if (l1 + 1 == l || w1 + 2 == w) {
    } else {
      for (int p = 0; p < k; p++) {
        if (ar[0][p] == l1 + 1 && ar[1][p] == w1 + 2) {
          flag = -1;
          break;
        }
      }
      if (flag == -1) {
      } else {
        sum++;
      }
    }
  }
  flag = 0;
  if ((l1 - 1 > 0 && l1 - 1 < 9) && (w1 - 2 > 0 && w1 - 2 < 9)) {
    if (l1 - 1 == l || w1 - 2 == w) {
    } else {
      for (int p = 0; p < k; p++) {
        if (ar[0][p] == l1 - 1 && ar[1][p] == w1 - 2) {
          flag = -1;
          break;
        }
      }
      if (flag == -1) {
      } else {
        sum++;
      }
    }
  }
  flag = 0;
  if ((l1 - 1 > 0 && l1 - 1 < 9) && (w1 + 2 > 0 && w1 + 2 < 9)) {
    if (l1 - 1 == l || w1 + 2 == w) {
    } else {
      for (int p = 0; p < k; p++) {
        if (ar[0][p] == l1 - 1 && ar[1][p] == w1 + 2) {
          flag = -1;
          break;
        }
      }
      if (flag == -1) {
      } else {
        sum++;
      }
    }
  }
  cout << 64 - sum;
  return 0;
}
