#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int main() { int N, K; cin >> N >> K; vector S(N); for (int i = 0; i < N; ++i) { cin >> S[i]; } set visited; for (string &s : S) { if (visited.count(s)) continue; queue que; que.push(s); while (not que.empty()) { string str = que.front(); que.pop(); for (int i = 0; i < K; ++i) { if (str[i] == '0') continue; string ns = str; ns[i]--; if (visited.count(ns)) continue; visited.insert(ns); que.push(ns); } } } int ans = 0; for (string &s : S) { if (visited.count(s)) ++ans; } cout << ans << endl; return 0; }