무빙맨
시간 제한2초메모리 제한1024 MB
한 도로의 도착 열을 바꾸는 갱신이 있을 때마다 모든 사람이 맨 아래 행까지 가는 비용의 합을 구한다.
문제
세로 칸, 가로 칸 크기의 직사각형 격자에 사람들이 살고 있다. 위에서부터 번째, 왼쪽에서부터 번째 격자의 위치를 라고 하자. () 이 격자에는 명의 사람들이 살고 있는데, 그중 번째 사람은 위치의 격자에 살고 있다.
각 격자에서는 그 격자에 인접한 아래쪽 격자로 가중치가 있는 단방향 도로가 연결되어 있다. 모든 , 에 대해 에서 로 의 비용으로 이동할 수 있다. () 모든 사람들은 모임을 위해 매달 단방향 도로를 통해 가장 아래쪽 행에 있는 격자로 이동한다.(단, 번째 사람은 매달 이동하기 전에 에 위치한다.)
악랄한 마법사 피클은, 사람들을 괴롭히기 위해 마법을 부려 마을의 구조를 변형시켰다. 피클은 길이가 인 두 배열 , 를 정해 에서 로 이동할 수 있는 도로를 없애고 에서 로 이동할 수 있는 비용 의 도로를 만들었다. () 그럼에도 불구하고 불쌍한 사람들은 한 달에 한 번씩 단방향 도로를 통해 가장 아래쪽 격자로 이동한다.

변덕스러운 피클은 매달 한 번씩 사람들이 이동하기 전에 를 하나 골라 와 의 값을 각각 다른 값으로 바꿔버린다. ()
이제 마법사 피클이 , 를 바꿀 때마다, 사람들이 가장 아래쪽 격자로 이동할 때 필요한 비용의 합을 구하시오.
입력
첫 번째 줄에 , 가 공백으로 구분되어 주어진다.
두 번째 줄부터 개 줄 중 번째 줄에 가 공백으로 구분되어 주어진다.
그다음 줄부터 개의 줄 중 번째 줄에 와 가 공백으로 구분되어 주어진다.
그다음 줄에 피클이 , 를 바꾸는 횟수를 나타내는 정수 가 주어진다.
그다음 줄부터 개의 줄 중 번째 줄에 세 정수 , , 가 공백으로 구분되어 주어진다. 이는 피클이 를 로, 를 로 바꾸었음을 의미한다.
출력
개의 줄에 걸쳐, 번째 줄에 번째로 피클이 , 를 바꿨을 때 모든 사람들이 가장 아래쪽 행의 격자로 이동할 때 필요한 비용의 합을 출력한다.
제한
- ()
- (; )
- 모든 쿼리에서 ;