유레카 이론

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

문제

삼각수 TnT_n (n1n \ge 1)은 점을 삼각형 모양으로 쌓아서 만든 수이다. 첫 줄에 점 1개, 둘째 줄에 2개를 놓는 식으로 nn번째 줄에 nn개를 놓았을 때 점의 총 개수가 TnT_n이다.

Tn=1+2+3++n=n(n+1)2T_n = 1 + 2 + 3 + \cdots + n = \frac{n(n+1)}{2}

1796년에 가우스는 모든 자연수를 삼각수 3개 이하의 합으로 나타낼 수 있음을 증명했다. 예를 들면 다음과 같다.

  • 4=T1+T24 = T_1 + T_2
  • 5=T1+T1+T25 = T_1 + T_1 + T_2
  • 6=T2+T26 = T_2 + T_2 또는 6=T36 = T_3
  • 10=T1+T2+T310 = T_1 + T_2 + T_3 또는 10=T410 = T_4

가우스는 증명을 기념하려고 일기에 "Eureka! num = Δ+Δ+Δ\Delta + \Delta + \Delta"라고 적었고, 여기에서 이 결과를 유레카 이론이라고 부른다. 꿍은 어떤 자연수가 삼각수 정확히 3개의 합인지 궁금해졌다. 위 예에서 5와 10은 삼각수 정확히 3개의 합으로 나타낼 수 있지만 4와 6은 그렇지 않다.

자연수가 주어지면 그 수를 삼각수 정확히 3개의 합으로 나타낼 수 있는지 판단하는 프로그램을 작성하라. 삼각수 3개가 서로 달라야 할 필요는 없다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 이어지는 TT개의 줄에 자연수 KK (3K10003 \le K \le 1000)가 한 줄에 하나씩 주어진다.

출력

각 테스트 케이스마다 한 줄씩 출력한다. KK를 삼각수 정확히 3개의 합으로 나타낼 수 있으면 1을, 그렇지 않으면 0을 출력한다.