누가 크리스마스 소리를 내었는가
시간 제한1초메모리 제한512 MB
1번 소켓을 루트로 삼아 R, G, B 전구의 인접 규칙을 지키면서 전체 비용이 K의 배수가 되는 배치의 수를 센다.
문제
크리스마스가 얼마 남지 않아 셈터는 트리를 장식하기로 했다. 트리에는 전구를 끼울 소켓이 개 달려 있고, 소켓끼리는 전선 개로 이어져 있다. 1번 소켓에서 전선을 따라가면 모든 소켓에 전기가 닿는다. 즉 소켓과 전선은 트리 구조를 이룬다.
각 소켓에는 빨강(), 초록(), 파랑() 중 한 가지 색의 전구를 하나씩 끼운다. 번 소켓에 빨강 전구를 끼우면 , 초록 전구를 끼우면 , 파랑 전구를 끼우면 의 비용이 든다. 배치는 다음 두 조건을 지켜야 한다.
- 초록 전구가 달린 소켓 두 개는 전선으로 직접 이어지지 않는다.
- 파랑 전구가 달린 소켓에 직접 이어진 소켓에는 모두 초록 전구가 달려 있다.
모든 소켓의 비용을 더한 값이 의 배수가 되는 배치가 몇 가지인지 세어라. 답이 매우 커질 수 있으므로 로 나눈 나머지를 출력한다. 소켓 하나라도 전구 색이 다르면 서로 다른 배치로 센다.
, , , 이다.
입력
첫째 줄에 , , 가 공백으로 구분되어 주어진다.
다음 개의 줄에는 전선으로 이어진 소켓 번호 와 가 공백으로 구분되어 주어진다.
그다음 개의 줄에는 번 소켓의 비용 , , 가 순서대로 주어진다. 소켓 번호는 1번부터 번까지다.
출력
전체 비용이 로 나누어떨어지는 배치의 수를 로 나눈 나머지를 한 줄에 출력한다.