코코는 R×C 크기의 직사각형 모양 초콜릿을 생산하는 공장을 운영하고 있다. 초콜릿은 1×1 크기의 단위 초콜릿으로 나누어져 있으며, 각각의 단위 초콜릿의 맛은 하나의 양의 정수로 나타낼 수 있다.
최근 연구에 따르면, 초콜릿의 맛은 초콜릿의 모든 부분 폴리오미노의 맛의 합이라고 한다. 폴리오미노란 하나 이상의 단위 초콜릿을 변끼리 이어붙인 모양을 뜻하며, 폴리오미노의 맛은 폴리오미노에 속한 모든 단위 초콜릿의 맛을 XOR한 값이다.
코코는 자신의 공장에서 생산되는 초콜릿들의 맛이 몇 점인지 궁금해졌다. 코코의 궁금증을 해결해주자.
첫 줄에는 R, C의 값이 주어진다. (1≤R×C≤29)
다음 R개 줄에 걸쳐서, 각 단위 초콜릿의 맛의 값이 주어진다. i번째 줄의 j번째 수는 위에서부터 i번째 줄, 왼쪽에서부터 j번째 칸에 위치한 단위 초콜릿의 맛을 나타낸다. 단위 초콜릿의 맛은 1 이상 106 이하이다.
주어진 초콜릿의 맛의 값을 한 줄에 출력한다.
음이 아닌 두 정수 a와 b의 XOR은 a⊕b라고 쓰고, 그 정의는 다음과 같다.
C, C++, Python 등의 프로그래밍 언어에서 a와 b의 XOR은 a^b로 표현한다.
여러 개의 음이 아닌 정수 a_1,a_2,⋯,a_n의 XOR은 앞에서부터 순서대로 XOR을 계산한 결과, 즉 ((a_1⊕a_2)⊕⋯)⊕a_n과 같다.