1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<iostream>
using namespace std;

int wsk;
string n;
bool sito[5000009];
int p[350009];
long long l,pr;

bool czy_pierwsza(long long a)
{
	if(a<5000009) return !sito[a];
	for(int i=0;i<350000;i++)
	{
		if(a%p[i]==0) return false;
	}
	return true;
}

int main()
{
	ios_base::sync_with_stdio(0);
	cin>>n;
	sito[0]=true; sito[1]=true;
	for(int i=2;i<2300;i++)
	{
		if(!sito[i])
		{
			for(int j=2*i;j<5000009;j+=i) sito[j]=true;
		}
	}
	for(int i=2;i<5000009;i++)
	{
		if(!sito[i])
		{
			p[wsk]=i; wsk++;
		}
	}
	for(int i=1;i<n.size();i++)
	{
		if(n[i]=='0') continue;
		for(int j=0;j<i;j++) { l*=10; l+=n[j]-'0'; }
		for(int j=i;j<n.size();j++) { pr*=10; pr+=n[j]-'0'; }
		//cout<<l<<" "<<pr<<endl;
		if(czy_pierwsza(l) && czy_pierwsza(pr)) { cout<<"TAK"<<endl; return 0; }
		l=0; pr=0;
	}
	cout<<"NIE"<<endl;
}