오래된 기차역에 가면 마지막까지 남아 있는 "차량 교환원" 중 한 명을 아직도 만날 수 있습니다. 차량 교환원은 기차의 차량 순서를 다시 배열하는 일만 하는 철도 직원입니다.
차량이 알맞은 순서로 정렬되면, 기관사는 각 화물이 향하는 역에서 차량을 하나씩 떼어 놓기만 하면 됩니다.
"차량 교환원"이라는 이름은 이 일을 처음 한 사람에게서 유래했습니다. 그는 철교 옆 역에서 일했는데, 이 다리는 위로 열리는 대신 강 한가운데 기둥을 축으로 회전했습니다. 90도 회전하면 배가 양옆으로 지나갈 수 있었습니다. 첫 번째 차량 교환원은 이 다리 위에 차량을 최대 두 대까지 올려 조작할 수 있음을 발견했습니다. 다리를 180도 돌리면 그 두 차량의 자리가 서로 바뀌어 기차를 다시 배열할 수 있었습니다. (그 결과 차량의 방향이 반대가 되지만, 차량은 어느 방향으로도 잘 달리므로 상관없습니다.)
이제 차량 교환원이 거의 사라졌기에, 철도 회사는 이 작업을 자동화하려 합니다. 프로그램의 일부는 주어진 기차에 대해 인접한 두 차량을 교환하는 연산을 최소 몇 번 해야 기차를 정렬할 수 있는지 판단해야 합니다. 순열을 정렬하는 데 필요한 인접 교환의 최소 횟수는 그 순열의 반전(inversion) 수, 즉 현재 서로 잘못된 순서로 놓인 차량 쌍의 개수와 같습니다.
질문:
첫 번째 줄에 테스트 케이스의 수 $N$이 주어집니다.
각 테스트 케이스는 두 줄로 이루어집니다.
각 테스트 케이스마다 다음 문장을 출력하세요.
Optimal train swapping takes S swaps.
여기서 $S$는 그 기차를 정렬하는 데 필요한 최소 교환 횟수입니다.