약수

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

자연수 nn의 약수들을 생각한다. nn의 모든 약수의 집합을 D(n)D(n)이라 하자. 다음 세 가지로 이루어진 식이 주어진다.

  • D(n)D(n)에 속하는 상수,
  • D(n)D(n)의 임의의 값을 가질 수 있는 변수,
  • 두 값의 최대공약수와 최소공배수를 계산하는 두 개의 이항 함수.

주어진 식의 값이 변수에 어떤 값을 대입하든 항상 같은지, 즉 식이 상수 함수를 나타내는지 판별하여라.

입력

첫째 줄에 테스트 케이스의 수 tt (1t10001 \le t \le 1000)가 주어진다. 이어지는 tt개의 각 줄에는 하나의 테스트 케이스가 주어진다.

각 줄은 정수 nn (1n10181 \le n \le 10^{18})으로 시작하고, 그 뒤에 식의 서술이 이어진다. 식은 상수, 변수, 또는 함수 적용 중 하나이다.

  • 각 수는 상수이며, nn의 양의 약수이다.
  • 변수는 길이가 55 이하인 영어 소문자의 나열이다. 같은 글자열은 같은 변수를 나타낸다.
  • 이름 NWDNWW는 각각 최대공약수와 최소공배수를 계산하는 함수를 나타낸다. 함수 이름 뒤에는 공백 하나가 오고, 그 뒤에 공백으로 구분된 두 인자의 서술이 이어진다. 각 인자는 그 자체로 하나의 식이다(따라서 식의 서술은 재귀적이다).

입력 파일 전체의 크기는 22 MB를 넘지 않는다.

출력

tt개의 줄에 각 테스트 케이스의 답을 출력한다. 각 테스트 케이스에 대해, 변수 값에 관계없이 식이 상수 함수를 나타내면 TAK(폴란드어로 )를, 그렇지 않으면 NIE(폴란드어로 아니오)를 출력한다.