수열과 데칼코마니
Time Limit: 1 SecMemory Limit: 1024 MiB

문제

길이가 인 수열 , , , 이 주어집니다. 주어진 수열에는 다음과 같이 정의된 연산을 원하는 대로 적용할 수 있습니다.

  • 다음 세 조건을 만족하는 정수 , , 를 골라, , 으로 변경합니다.

연산을 자세히 설명하면 선택한 을 중심으로 위치가 거울처럼 대칭이고, 값이 같은 , 으로 변경하는 연산입니다.

  • 예를 들어 , 이라고 합니다.
    • 을 중심으로 , 가 거울처럼 위치가 대칭이고, 의 값이 같기 때문에 , , 연산을 사용할 수 있습니다. 연산을 사용한 후 수열은 로 변경됩니다.
    • 을 중심으로 , 가 거울처럼 위치가 대칭이지만 의 값이 서로 다르기 때문에 , , 연산을 사용할 수 없습니다.

연산을 적용하여 최대한 많은 수열의 원소를 으로 만드는 방법을 구하세요. 연산을 사용하는 횟수가 최소일 필요는 없지만 최대 번까지만 사용할 수 있습니다.

입력

첫 번째 줄에 양의 정수 이 주어집니다.

두 번째 줄에 정수 , , , 이 공백으로 구분되어 주어집니다.

출력

첫 번째 줄에 최대한 많은 수열의 원소를 으로 만들기 위한 연산 적용 횟수 을 출력합니다.

다음 개의 줄에 걸쳐 적용한 연산을 출력합니다. 그중 번째 줄에는 정수 , , 를 공백으로 구분하여 출력합니다. 이는 번째로 , , 의 연산을 사용했다는 의미입니다.

가능한 연산 방법이 여러 가지라면 그중 아무것이나 출력해도 됩니다.

노트

번호배점제한
추가 제한 없음
Example Input 1
3
1 2 1
Example Output 1
1
1 2 3
Example Input 2
5
1 2 2 2 2
Example Output 2
2
3 4 5
2 3 4
Example Input 3
5
1 2 3 4 5
Example Output 3
0