QOJ.ac

QOJ

時間限制: 5 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓

#17935. 초콜릿의 맛은 몇 점?

统计

코코는 $R \times C$ 크기의 직사각형 모양 초콜릿을 생산하는 공장을 운영하고 있다. 초콜릿은 $1 \times 1$ 크기의 단위 초콜릿으로 나누어져 있으며, 각각의 단위 초콜릿의 맛은 하나의 정수 $t$로 나타낼 수 있다.

최근 연구에 따르면, 전체 초콜릿의 맛은 그 초콜릿을 잘라 얻을 수 있는 모든 폴리오미노(단위 초콜릿 여러 개를 변끼리 이어붙인 모양)에 대해서, 각 폴리오미노에 속하는 모든 단위 초콜릿의 맛을 XOR한 결과를 모두 더하면 얻을 수 있다고 한다. 코코는 자신의 공장에서 생산되는 초콜릿들의 맛이 몇 점인지 궁금해졌다. 코코의 궁금증을 해결해주자.

Input

첫 줄에는 $R$, $C$의 값이 주어진다. ($1 \le R \times C \le 29$)

다음 $R$개 줄에 걸쳐서, 각 단위 초콜릿의 맛의 값이 주어진다. $i$번째 줄의 $j$번째 수는 위에서부터 $i$번째 줄, 왼쪽에서부터 $j$번째 칸에 위치한 단위 초콜릿의 맛을 나타낸다. 단위 초콜릿의 맛은 $1$ 이상 $10^6$ 이하이다.

Output

주어진 초콜릿의 맛의 값을 한 줄에 출력한다.

Examples

Input 1

1 4
1 2 4 8

Output 1

72

Input 2

2 3
1 1 1
1 1 1

Output 2

22

Note

음이 아닌 두 정수 $a$와 $b$의 XOR은 $a \oplus b$라고 쓰고, 그 정의는 다음과 같다.

  • $a$와 $b$를 같은 길이의 2진법으로 표현했을 때 둘의 $i$번째 자리가 같으면 $a \oplus b$의 2진법 표현의 $i$번째 자리는 $0$이고, 서로 다르면 $1$이다. 2진법으로 표현했을 때 길이가 서로 다르면, 짧은 쪽의 앞에 0을 필요한 만큼 덧붙인 후 계산한다.

C, C++, Python 등의 프로그래밍 언어에서 $a$와 $b$의 XOR은 a ^ b로 표현한다.

여러 개의 음이 아닌 정수 $a_1, a_2, \cdots, a_n$의 XOR은 앞에서부터 순서대로 XOR을 계산한 결과, 즉 $((a_1 \oplus a_2) \oplus \cdots) \oplus a_n$과 같다.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.