자동차
시간 제한1초메모리 제한64 MB
각 칸에 행 우선 번호가 들어 있는 행렬에서 K번의 행 곱셈과 열 곱셈을 순서대로 적용한 뒤 전체 합을 10^9+7로 나눈 나머지를 구한다.
문제
Mirko는 자동차 뒷좌석에서 행 열짜리 행렬을 찾았다. 첫째 행에는 이 차례로 적혀 있고, 둘째 행에는 이 적혀 있다. 같은 규칙으로 이어져 째 행에는 이 적혀 있다.
, 인 경우는 다음과 같다.
이 행렬이 심심했던 Mirko는 행이나 열을 하나 고른 뒤 그 줄에 있는 값에 모두 음이 아닌 정수를 곱하는 작업을 번 했다. Mirko는 최종 행렬에 있는 모든 값의 합을 알고 싶다. 합이 매우 커질 수 있으므로 로 나눈 나머지를 구하면 된다.
입력
첫째 줄에 (), (), ()이 공백으로 구분되어 주어진다. 다음 줄에는 작업이 수행된 순서대로 한 줄에 하나씩 주어진다.
- "R X Y"는 째 행에 있는 값에 모두 를 곱한다는 뜻이다. 는 인 정수이고, 는 인 정수이다.
- "S X Y"는 째 열에 있는 값에 모두 를 곱한다는 뜻이다. 는 인 정수이고, 는 인 정수이다.
출력
최종 행렬에 있는 모든 값의 합을 로 나눈 나머지를 첫째 줄에 출력한다.
힌트
첫 번째 예제를 살펴보자. 둘째 행에 4를 곱하고, 넷째 열에 1을 곱하고, 셋째 행에 2를 곱한 뒤, 둘째 행에 다시 0을 곱하면 행렬은 다음과 같이 된다.
모든 값의 합은 이다.