베이크 오프
시간 제한8초메모리 제한512 MB
줄 선 각 손님은 요청한 여섯 가지 맛을 모두 포함한 남은 케이크 중 가장 맛있는 것을 받고, 없으면 아무것도 사지 않는다.
문제
데이비는 주말 장터에 좌판을 열고 자기가 굽는 케이크를 팔기로 했다. 첫 장터를 위해 데이비는 케이크 개를 구웠다. 케이크마다 맛있는 정도가 정해져 있고, 캐러멜, 체리, 초콜릿, 시나몬, 코코넛, 쿠키 여섯 가지 향 중 일부가 들어 있다. 들어 있는 향의 집합은 비어 있어도 된다.
좌판을 여는 순간 케이크를 사려는 손님 명이 줄을 서 있다. 데이비는 줄을 선 순서대로 손님을 맞는다. 손님마다 케이크에 반드시 들어 있어야 하는 향의 집합이 정해져 있고, 그 밖의 향이 더 들어 있는 것은 개의치 않는다. 데이비는 손님이 요구한 향을 모두 담은 케이크 중 남아 있는 가장 맛있는 것을 건넨다. 조건을 만족하는 케이크가 남아 있지 않으면 그 손님은 아무것도 사지 못한다. 각 손님이 어떤 케이크를 사는지 구하라.
입력
첫째 줄에 케이크의 개수 ()과 손님의 수 ()이 주어진다.
다음 6개 줄은 케이크에 들어 있는 향을 나타낸다. 첫 줄은 길이가 인 문자열이며, 번째 문자가 1이면 케이크 에 캐러멜이 들어 있고 0이면 들어 있지 않다. 이어지는 다섯 줄은 같은 형식으로 체리, 초콜릿, 시나몬, 코코넛, 쿠키를 차례로 나타낸다. 케이크는 왼쪽부터 1번, 2번 순으로 번호가 붙는다. 맛있는 정도가 같은 케이크는 없고, 케이크는 맛있는 정도가 커지는 순서로 놓여 있다. 즉 케이크 1이 가장 덜 맛있고 케이크 이 가장 맛있다.
다음 6개 줄은 손님이 요구한 향을 나타낸다. 첫 줄은 길이가 인 문자열이며, 번째 문자가 1이면 손님 가 캐러멜을 요구했고 0이면 요구하지 않았다. 이어지는 다섯 줄은 같은 형식으로 체리, 초콜릿, 시나몬, 코코넛, 쿠키를 차례로 나타낸다.
출력
손님이 산 케이크의 번호를 줄을 선 순서대로 한 줄에 공백으로 구분해 출력한다. 케이크를 사지 못한 손님은 -1을 출력한다.