만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

무서운 팰린드롬

면접 대비

시간 제한1.5초메모리 제한1024 MB

요약
길이가 같은 문자열 n개를 이어 붙였을 때 회문이 되는 순서를 찾거나, 불가능하면 -1을 출력합니다.
난이도

보통10점 중 5점

유형
문자열, 해시맵, 그리디
정답자
아직 제출이 없습니다

문제

아이들은 저녁 내내 집집마다 돌아다니며 행인들을 겁주었다. 어느 순간 지겨워진 아이들은 미스터 X를 겁주러 가기로 했다.

미스터 X가 팰린드롬을 매우 무서워한다는 것은 모두가 안다. 그래서 아이들은 가장 큰 팰린드롬을 찾아 그에게 보여주기로 했다. 안타깝게도 밤이 되자 아이들의 상상력은 거의 바닥났다. 남은 방법은 주변 광고판의 글자를 옮겨 적어 그것으로 팰린드롬을 만드는 것뿐이었다.

거리에 광고판이 nn개 있고, 모든 광고판의 글자 길이는 kk로 같다. 아이들은 광고판 글자를 하나도 빼지 않아야 팰린드롬이 충분히 무섭다고 생각한다. 그래서 모든 광고판의 글자를 각각 정확히 한 번씩, 어떤 순서로든 이어 붙여 팰린드롬을 만들려고 한다.

아이들이 무서운 팰린드롬을 만들도록 도와주거나, 이 조각들로는 팰린드롬을 만들 수 없다고 알려주자. 그래야 미스터 X가 남은 저녁을 편히 보낼 수 있다.

입력

첫 줄에 공백으로 구분된 두 정수 nn과 kk가 주어진다 (1≤n,k≤1061 \leq n, k \leq 10^6).

다음 nn개 줄에는 광고판 글자가 한 줄에 하나씩 주어진다. 각 글자의 길이는 정확히 kk이며, 소문자 라틴 알파벳으로만 이루어져 있다.

n⋅k≤107n \cdot k \leq 10^7이 보장된다.

출력

무서운 팰린드롬을 만들 수 있다면, 팰린드롬이 되도록 광고판 번호를 이어 붙일 순서대로 공백으로 구분해 nn개 출력한다. 1부터 nn까지의 각 번호는 출력에 정확히 한 번씩 나타나야 한다.

팰린드롬을 만들 수 없다면 정수 −1-1 하나만 출력한다.

예제2

  1. 예제 1

    입력
    3 2
    ab
    cc
    ba
    
    예상 출력
    1 2 3
    
  2. 예제 2

    입력
    2 3
    aba
    cab
    
    예상 출력
    -1