3단 초콜릿 아이스크림

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

문제

코코는 초콜릿 아이스크림을 쌓아서 먹는 것을 좋아한다. 초콜릿 아이스크림 탑은 알파벳 대문자로 이루어진 문자열로 나타낼 수 있다. 예를 들면 벨기에, 민트, 오리지널 맛을 순서대로 쌓은 것은 BMO라고 쓸 수 있다.

코코는 “2단 아이스크림”의 정의를 다음과 같이 내리기로 했다.

  • 길이 nn인 아이스크림 문자열 SS가 주어졌을 때, 길이가 n2\left\lceil \frac{n}{2} \right\rceilSS의 접두사 SS'를 생각한다. x\left\lceil x \right\rceilxx보다 크거나 같은 최소의 정수이다.
  • S=S+rev(S)S=S'+\operatorname{rev}(S') 또는 S=S+tail(rev(S))S=S'+\operatorname{tail}(\operatorname{rev}(S'))를 만족하면 SS는 2단 아이스크림이다. 여기서 S_1+S_2S\_1+S\_2는 두 문자열을 순서대로 이어붙인 것, rev(S)\operatorname{rev}(S)SS의 글자의 순서를 뒤집은 것이고, tail(S)\operatorname{tail}(S)SS의 첫 글자를 제거한 것을 의미한다.

하지만 이 정의가 평범한 팰린드롬의 정의와 같다는 것에 실망한 코코는 한 단계 더 나아간 “3단 아이스크림”을 정의하였다.

  • 길이 nn인 아이스크림 문자열 SS가 주어졌을 때, 길이가 n3\left\lceil \frac{n}{3} \right\rceilSS의 접두사 SS'를 생각한다.

  • 다음 중 적어도 하나를 만족하면 SS는 3단 아이스크림이다.

    • S=S+rev(S)+SS=S'+\operatorname{rev}(S') +S'
    • S=S+tail(rev(S))+SS=S'+\operatorname{tail}(\operatorname{rev}(S')) +S'
    • S=S+rev(S)+tail(S)S=S'+\operatorname{rev}(S') +\operatorname{tail}(S')
    • S=S+tail(rev(S))+tail(S)S=S'+\operatorname{tail}(\operatorname{rev}(S')) +\operatorname{tail}(S')

예를 들어, DOTTODOTDOTTODOT =DOT + TOD + OT이므로 3단 아이스크림이다.

각각의 문자열이 3단 아이스크림 문자열인지 판별해보자.

입력

첫 줄에는 테스트 케이스의 수 TT가 주어진다. (1T10001\le T\le 1000)

다음 TT개의 줄 각각에는 알파벳 대문자로 이루어진 문자열이 주어진다. 문자열의 길이는 66 이상 3030 이하이다.

출력

각각의 테스트 케이스에 대해, 주어진 문자열이 3단 아이스크림 문자열이면 1, 아니면 0을 출력한다.