#include <bits/stdc++.h>
using namespace std;
#define append push_back
#define int long long
const int N=3e6+10,LG=21;
int mod=1e9+7;
void solve(int tst){
    int n,k;
    cin>>n>>k;
    if(k<(1<<(n/2))){
        cout<<"TIK"<<endl;return;
    }
    map<string,bool>fa,fb;
    string a,b;
    map<string,bool>bad;
    cin>>a>>b;
    while(k--){
        string s;
        cin>>s;
        bad[s]=1;
    }
    deque<string>x,y;
    fa[a]=fb[b]=1;
    x={a};y={b};
    while(x.size() or y.size()){
        if(x.size()){
            string s=x.front();
            x.pop_front();
            string t=s;
            for(int j=0;j<n;j++){
                t[j]='1'-s[j]+'0';
                if(bad.find(t)==bad.end() and fa.find(t)==fa.end()) {
                    x.append(t),fa[t]=1;
                    if(fb.find(t)!=fb.end()) {
                        cout<<"TAK"<<endl;return;
                    }
                }
                t[j]=s[j];
            }
        }
        if(y.size()){
            string s=y.front();
            y.pop_front();
            string t=s;
            for(int j=0;j<n;j++){
                t[j]='1'-s[j]+'0';
                if(bad.find(t)==bad.end() and fb.find(t)==fb.end()) {
                    y.append(t),fb[t]=1;
                    if(fa.find(t)!=fa.end()){
                        cout<<"TAK"<<endl;return;
                    }
                }
                t[j]=s[j];
            }
        }
    }
    cout<<"NIE"<<endl;
}
signed main(){
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t = 1;
    // cin >> t;
    for(int i=1;i<=t;i++){
        solve(i);
        // if(i!=t) cout<<endl;
    }
}
| # | 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... |