Organize Your Train part II

No attempts yetTime limit1sMemory limit128 MB

Problem

RJ Freight, a Japanese railroad company for freight operations, has recently constructed exchange lines at Hazawa, Yokohama. The layout of the lines is shown in Figure B-1.

Figure B-1

Figure B-1: Layout of the exchange lines

A freight train consists of 2 to 72 freight cars. There are 26 types of freight cars, denoted by the 26 lowercase letters from a to z. Cars of the same type are indistinguishable from one another, and a car's direction does not matter. Thus a string of lowercase letters of length 2 to 72 completely describes the configuration of a train.

Upon arrival at the exchange lines, a train is divided into two sub-trains at an arbitrary position (before entering the storage lines). Each sub-train may optionally have its direction reversed (using the reversal line). Finally, the two sub-trains are connected in either order to form the final configuration. The reversal operation is optional for each sub-train independently.

For example, if the arrival configuration is abcd, the train can be split into two sub-trains with 3:1, 2:2, or 1:3 cars. For each split, the possible final configurations are as follows (+ marks the concatenation point):

[3:1]
  abc+d  cba+d  d+abc  d+cba
[2:2]
  ab+cd  ab+dc  ba+cd  ba+dc  cd+ab  cd+ba  dc+ab  dc+ba
[1:3]
  a+bcd  a+dcb  bcd+a  dcb+a

Excluding duplicates, 12 distinct configurations are possible.

Given an arrival configuration, report the number of distinct configurations that can be constructed using the exchange lines described above.

Input

The first line contains the number of datasets $m$. Each of the following $m$ lines contains one dataset: an arriving train given as a string of 2 to 72 lowercase letters.

Output

For each dataset, output on its own line the number of distinct train configurations that can be constructed. No other characters should appear in the output.