#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, i, j, mit = 0;
  char a[105][105];
  cin >> n >> m;
  for (i = 0; i < n; i++) {
    for (j = 0; j < m; j++) {
      cin >> a[i][j];
    }
  }
  if (n % 3 != 0 && m % 3 != 0) {
    cout << "NO";
    return 0;
  } else {
    if (n % 3 == 0) {
      if (a[0][0] != a[n / 3][0] && a[0][0] != a[n / 3 * 2][0] &&
          a[n / 3 * 2][0] != a[n / 3][0]) {
        for (i = 0; i < n / 3; i++) {
          for (j = 0; j < m; j++) {
            if (a[i][j] != a[0][0]) {
              mit = -1;
            }
          }
        }
        for (i = n / 3; i < (n / 3 * 2); i++) {
          for (j = 0; j < m; j++) {
            if (a[i][j] != a[n / 3][0]) {
              mit = -1;
            }
          }
        }
        for (i = (n / 3 * 2); i < n; i++) {
          for (j = 0; j < m; j++) {
            if (a[i][j] != a[n / 3 * 2][0]) {
              mit = -1;
            }
          }
        }
        if (mit == 0) {
          cout << "YES";
          return 0;
        }
      } else {
        mit = -1;
      }
    }
    if (m % 3 == 0) {
      mit = 0;
      if (a[0][0] != a[0][m / 3] && a[0][0] != a[0][m / 3 * 2] &&
          a[0][m / 3 * 2] != a[0][m / 3]) {
        for (i = 0; i < m / 3; i++) {
          for (j = 0; j < n; j++) {
            if (a[j][i] != a[0][0]) {
              mit = -1;
            }
          }
        }
        for (i = m / 3; i < (m / 3 * 2); i++) {
          for (j = 0; j < n; j++) {
            if (a[j][i] != a[0][m / 3]) {
              mit = -1;
            }
          }
        }
        for (i = (m / 3 * 2); i < m; i++) {
          for (j = 0; j < n; j++) {
            if (a[j][i] != a[0][m / 3 * 2]) {
              mit = -1;
            }
          }
        }
        if (mit == 0) {
          cout << "YES";
          return 0;
        }
      }
    }
  }
  cout << "NO";
  return 0;
}
