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
#include <iostream>
#include <cmath>
#include <string>
using namespace std;

bool is_prime(long long num) {
    double num_sqrt = sqrt(num);
    if (num < 2) {
        return false;
    }
    for (long long i = 2; i <= num_sqrt; ++i) {
        if (num % i == 0) {
        	return false;
        }
    }
    return true;
}

bool check(string numStr) {
    return numStr[0] != '0' && is_prime(stoll(numStr));
}

int main() {
    string inputNum;
    getline(cin, inputNum);
    const size_t maxSplitPos = inputNum.size() - 1;
    
    for (size_t i = 1; i <= maxSplitPos; ++i) {
        string first_part(inputNum.begin(), inputNum.begin() + i);
        string second_part(inputNum.begin() + i, inputNum.end());
        
        if (check(first_part) && check(second_part)) {
        	cout << "TAK";
        	return 0;
        }
    }
    
    cout << "NIE";
    return 0;
}