악몽의 형제
면접 대비시간 제한2초메모리 제한1024 MB
길이 M인 문자열 S에 대한 힌트 N개가 주어지고 그중 최대 하나가 거짓입니다. 가능한 S가 하나면 출력하고, 없으면 -1, 여러 개면 -2를 출력합니다.
문제
형제가 길이가 인 문자열 를 가지고 있다. 인덱스는 부터 까지이다. 당신은 가 정확히 무엇인지 알고 싶다. 이를 돕기 위해 형제가 힌트 개를 준다. 힌트 는 정수 와 문자열 로 이루어지며, 가 의 번째 위치에서 시작하는 부분 문자열로 나타난다는 뜻이다. 모든 힌트는 서로 다르다. 즉, 이면서 이고 인 힌트 쌍은 없다.
이 형제는 장난을 좋아하는 것으로 알려져 있다. 힌트 개 중 거짓인 것은 많아야 하나라고 말하지만, 어느 것이 거짓인지는 말하지 않는다.
문자열 가 가능한 해인 것은, 참이라고 가정한 힌트 개 이상의 집합이 존재하여 그 집합의 모든 힌트를 만족하는 문자열이 뿐일 때이다.
가능한 해를 하나 찾아야 한다. 가능한 해가 없으면 을, 가능한 해가 둘 이상이면 를 출력한다.
입력
첫 줄에 정수 과 이 주어진다(, ). 각각 힌트의 개수와 문자열의 길이이다. 이어지는 개 줄에는 정수 와 문자열 가 한 줄씩 주어진다(, , ). 문자열 는 대문자로만 이루어진다. 같은 와 같은 를 가진 힌트 쌍은 없다.
출력
가능한 해가 정확히 하나면 문자열 를 한 줄에 출력한다. 가능한 해가 없으면 을 한 줄에 출력한다. 가능한 해가 둘 이상이면 를 한 줄에 출력한다.