#include using namespace std; #define int ll using ll = long long; const int MOD = 1e9 + 7; int32_t main() { cin.tie(0)->sync_with_stdio(0); int n; cin >> n; int k; cin >> k; vector> a(n); for (auto &v : a) { string s; cin >> s; v.resize(k); for (int i = 0; i < k; i++) { v[i] = s[i] - '0'; } } auto f = [&] (vector& v) { int ret = 0; for (int i = 0; i < v.size(); i++) { ret = ret * 5 + v[i]; } return ret; }; vector vis(25*25*25*25, 0); sort(a.rbegin(), a.rend()); auto go = [&] (auto&& self, vector& v) { if (vis[f(v)]) return; vis[f(v)] = 1; for (int i = 0; i < k; i++) { if (v[i] > 0) { v[i]--; self(self, v); v[i]++; } } }; int ans = 0; for (auto v : a) { if (vis[f(v)]) ans++; go(go, v); } cout << ans << endl; }