댄스타임
면접 대비시간 제한1초메모리 제한1024 MB
호영이가 N라운드 동안 실수를 한 번까지만 허용하며 춤을 고르는 방법의 수를 10^9+7로 나눈 나머지로 구합니다.
문제
호영이는 기대하던 WooJeans의 팬미팅에 갔다. 팬미팅의 하이라이트인 댄스타임에서는 마지막 라운드를 통과한 팬에게 사인 앨범을 준다. 열혈팬 호영이도 사인 앨범을 받으려고 춤 연습을 열심히 하고 있다.
댄스타임은 개의 라운드로 이루어져 있다. 각 라운드에서는 리더 우진이 바라보는 방향에 따라 올바른 춤을 춰야 한다. 올바른 춤은 다음과 같다.
- 우진이 앞을 보고 춤을 추면 호영이는 우진과 같은 춤을 춰야 한다.
- 우진이 뒤를 보고 춤을 추면 호영이는 우진과 다른 춤을 춰야 한다.
댄스타임에서는 올바르지 않은 춤을 최대 한 번까지 춰도 해당 라운드를 통과한다. 두 번 이상 올바르지 않은 춤을 추면 그 라운드에서 떨어진다.
호영이가 마지막 라운드까지 통과하여 사인 앨범을 받을 수 있는 경우의 수를 구하라. 적어도 하나의 라운드에서 호영이가 추는 춤의 종류가 다르면 다른 경우로 센다. 호영이는 우진이 출 수 있는 모든 춤을 알고 있다.
입력
첫째 줄에 댄스타임의 라운드 개수 과 우진이 출 춤 종류의 개수 이 공백으로 구분되어 주어진다. (, )
둘째 줄부터 번째 줄까지 각 줄에 우진이 추는 춤의 종류 와 우진이 바라보는 방향 가 공백으로 구분되어 주어진다. (, )
우진은 가 이면 앞, 이면 뒤를 보고 춤을 춘다.
출력
첫째 줄에 호영이가 사인 앨범을 받을 수 있는 경우의 수를 로 나눈 나머지를 출력한다.