#include <bits/stdc++.h>
using namespace std;
int T, r, c, ca;
char a[65][65];
bool f(int sr, int er, int sc, int ec) {
  int i, j;
  for (i = sr; i < er; i++) {
    for (j = sc; j < ec; j++) {
      if (a[i][j] != 'A') return 0;
    }
  }
  return 1;
}
int main() {
  int i, j;
  cin >> T;
  while (T--) {
    scanf("%d %d", &r, &c);
    ca = 0;
    for (i = 0; i < r; i++) scanf("%s", &a[i]);
    for (i = 0; i < r; i++) {
      for (j = 0; j < c; j++) {
        if (a[i][j] == 'A') ca++;
      }
    }
    if (ca == 0) {
      puts("MORTAL");
      continue;
    }
    if (ca == r * c) {
      puts("0");
      continue;
    }
    if (f(0, r, 0, 1) || f(0, r, c - 1, c) || f(0, 1, 0, c) ||
        f(r - 1, r, 0, c)) {
      puts("1");
      continue;
    }
    if (a[0][0] == 'A' || a[r - 1][0] == 'A' || a[0][c - 1] == 'A' ||
        a[r - 1][c - 1] == 'A') {
      puts("2");
      continue;
    }
    for (i = 0; i < r; i++) {
      if (f(i, i + 1, 0, c)) {
        puts("2");
        break;
      }
    }
    if (i < r) continue;
    for (i = 0; i < c; i++) {
      if (f(0, r, i, i + 1)) {
        puts("2");
        break;
      }
    }
    if (i < c) continue;
    for (i = 0; i < r; i++)
      if (a[i][0] == 'A' || a[i][c - 1] == 'A') {
        puts("3");
        break;
      }
    if (i < r) continue;
    for (i = 0; i < c; i++)
      if (a[0][i] == 'A' || a[r - 1][i] == 'A') {
        puts("3");
        break;
      }
    if (i < c) continue;
    puts("4");
  }
  return 0;
}
