#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int n, m;
  cin >> n >> m;
  if (n % 3 && m % 3) {
    cout << "NO" << '\n';
    return 0;
  }
  vector<string> f(n);
  for (int i = 0; i < n; i++) cin >> f[i];
  if (!(n % 3)) {
    set<char> used;
    for (int i = 0; i < 3; i++) {
      char cur = f[i * (n / 3)][0];
      if (used.count(cur)) goto bad1;
      used.insert(cur);
      for (int j = i * (n / 3); j < (i + 1) * (n / 3); j++) {
        for (int k = 0; k < m; k++)
          if (f[j][k] != cur) goto bad1;
      }
    }
    cout << "YES" << '\n';
    return 0;
  }
bad1:
  if (!(m % 3)) {
    set<char> used;
    for (int i = 0; i < 3; i++) {
      char cur = f[0][i * (m / 3)];
      if (used.count(cur)) goto bad2;
      used.insert(cur);
      for (int j = i * (m / 3); j < (i + 1) * (m / 3); j++) {
        for (int k = 0; k < n; k++)
          if (f[k][j] != cur) goto bad2;
      }
    }
    cout << "YES" << '\n';
    return 0;
  }
bad2:
  cout << "NO" << '\n';
  return 0;
}
