#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MOD 1000000007
ll dec_to_bin(string s){
	ll res = 0;
	for(auto i : s){
		res = res * 2 + (i - '0');
	}
	return res;
}
void solve(){
	ll n, k;
	cin >> n >> k;
	string s, t;
	cin >> s >> t;
	set<ll> vis;
	ll st = dec_to_bin(s), en = dec_to_bin(t);
	for(int i = 0; i < n ;i ++){
		cin >> s;
		ll z = dec_to_bin(s);
		vis.insert(z);
	}
	ll c = (1ll << 22) - 1;
	queue<ll> q;
	q.push(st);
	while(!q.empty()){
		ll u = q.front();
		q.pop();
		for(auto i = 0; i < n; i ++){
			ll v = u ^ (1ll << i);
			if(vis.find(v) != vis.end()){
				continue;
			}
			c--;
			if(!c or v == en or st == en){
				cout << "TAK" << '\n';
				return ;
			}
			vis.insert(v);
			q.push(v);
		}
	}
	cout << "NIE" << '\n';
}
int main(){
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int tests = 1;
	// cin >> tests;
	for(int i = 1; i <= tests; i ++)
		solve();
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |