카드 뽑기
면접 대비시간 제한1초메모리 제한1024 MB
각 날의 카드 네 장이 같은 문자의 연속된 숫자 세 장, 같은 카드 세 장, 또는 같은 카드 두 쌍 중 하나를 이루는지 판별합니다.
문제
상필이는 매일 꾸준히 문제를 풀며 알고리즘을 공부한다. 오랫동안 문제를 풀다 보니 지친 상필이는 쉬는 날이 필요하다고 느꼈다. 그래서 카드를 뽑아 쉬는 날을 정하기로 했다.
카드는 27장이다. 각 카드에는 0이 아닌 숫자 하나와 알파벳 소문자 m, p, s 중 하나가 적혀 있다(1m, 2m, , 9m, 1p, 2p, , 9p, 1s, 2s, , 9s). 상필이는 카드를 한 장 뽑아 내용을 기억한 뒤 다시 넣는다. 이 과정을 4번 반복한다. 뽑은 카드 4장이 아래 규칙 중 하나라도 만족하면 그날은 쉰다.
- 알파벳이 같고 숫자가 연속되는 세 장이 있다. 이때 연속한 세 숫자는 서로 달라야 한다.
- 알파벳과 숫자가 모두 같은 세 장이 있다.
- 두 장씩 짝지었을 때, 짝을 이룬 카드끼리 숫자와 알파벳이 같다.
상필이는 1일 후부터 T일 후까지 T일 치의 카드를 미리 뽑아 두었지만, 어느 날이 쉬는 날인지 알아내기가 쉽지 않았다. 지금까지 공부한 알고리즘으로 풀 수 있을 것 같았지만, 오늘은 쉬기로 마음먹었기에 당신에게 확인을 부탁했다.
입력
첫째 줄에 정수 T()가 주어진다.
둘째 줄부터 번째 줄까지, 번째 줄에는 일 후에 뽑은 카드 4장이 공백으로 구분되어 주어진다. ()
출력
개의 줄에 걸쳐 번째 줄에 일 후가 쉬는 날이면 :)를, 아니라면 :(를 출력한다.