// tresc: https://szkopul.edu.pl/problemset/problem/fRRpEz8PbuHalZh4lgF29mXy/site/?key=statement
// OIG XV (etap 2, sesja próbna)
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <vector>
int main() {
std::ios_base::sync_with_stdio(0);
std::cin.tie(0);
std::cout.tie(0);
long long A, B, C, D;
std::cin >> A >> B >> C >> D;
long long iloczyn = C * D;
if (A * B < iloczyn) {
std::cout << "NIE";
return 0;
}
if (iloczyn < A && iloczyn < B) {
std::cout << "NIE";
return 0;
}
std::vector<long long> w1;
std::vector<long long> w2;
for (long long i = 1; i * i <= C; i++) {
if (C % i == 0) {
w1.push_back(i);
w1.push_back(C / i);
}
}
for (long long i = 1; i * i <= D; i++) {
if (D % i == 0) {
w2.push_back(i);
w2.push_back(D / i);
}
}
for (int i = 0; i < w1.size(); i++) {
for (int j = 0; j < w2.size(); j++) {
long long d1 = w1[i] * w2[j], d2 = (iloczyn / w1[i]) / w2[j];
if (d1 <= A && d2 <= B) {
std::cout << "TAK";
return 0;
}
if (d1 <= B && d2 <= A) {
std::cout << "TAK";
return 0;
}
}
}
std::cout << "NIE";
return 0;
}