공격받는 칸
시간 제한2초메모리 제한64 MB
거대한 보드에서 룩을 옮길 때마다 같은 행이나 열에 있는 룩의 파워를 xor한 값이 0이 아닌 칸 수를 셉니다.
문제
미르코는 체스와 프로그래밍을 좋아한다. 평범한 체스에는 금방 싫증이 나서, 룩만 가지고 노는 방법을 만들었다.
행 열짜리 체스판을 구해서 그 위에 룩 개를 올려놓았다.
규칙은 다음과 같다.
- 룩마다 힘이 정수 하나로 정해져 있다.
- 룩은 자기가 서 있는 칸을 뺀, 같은 행이나 같은 열의 모든 칸을 본다.
- 어떤 칸을 보고 있는 룩의 힘을 모두 XOR한 값이 보다 크면 그 칸은 공격받는다.
룩이 서 있는 칸도 공격받을 수 있다.
미르코는 처음 배치에서 시작해 이동을 번 한다. 이동을 한 번 마칠 때마다 공격받는 칸이 몇 개인지 구하여라.
룩은 판 위의 빈 칸이면 어디로든 옮길 수 있다. 이동은 같은 행이나 같은 열로 제한되지 않는다.
입력
첫째 줄에 정수 , , 가 주어진다. (, , )
다음 개의 줄에는 정수 , , 가 주어진다. (, ) 처음에 칸 에 힘이 인 룩이 있다는 뜻이다.
다음 개의 줄에는 정수 , , , 가 주어진다. () 룩이 칸 에서 칸 로 옮겨갔다는 뜻이다.
어느 시점에도 한 칸에 룩이 두 개 놓이는 일은 없다.
출력
개의 줄을 출력한다. 번째 줄에는 번째 이동을 마친 뒤 공격받는 칸의 개수를 출력한다.
힌트
첫 번째 예제를 설명하면 이렇다. 첫 번째 이동을 마치면 판의 모든 칸이 공격받는다. 예를 들어 칸 을 보는 룩은 하나뿐이므로 그 칸의 XOR 값은 이다. 두 번째 이동을 마치면 공격받는 칸이 하나도 없다. 칸 은 룩 두 개가 보고 있고, 두 힘의 XOR은 이다.