Coco 运营着一家生产大小为 $R \times C$ 的矩形巧克力的工厂。巧克力被划分为 $1 \times 1$ 大小的单位巧克力,每个单位巧克力的美味度可以用一个整数 $t$ 来表示。
最近的研究表明,整块巧克力的总美味度可以通过以下方式计算:对于该巧克力中可以切出的所有多格骨牌(polyomino,即若干个单位巧克力通过边相连得到的形状),计算每个多格骨牌中所有单位巧克力美味度的异或(XOR)和,然后将这些异或和全部相加。Coco 很想知道自己工厂生产的巧克力的总美味度是多少。请帮 Coco 解决这个疑问。
输入格式
第一行给出 $R$ 和 $C$ 的值。($1 \le R \times C \le 29$)
接下来的 $R$ 行中,给出每个单位巧克力的美味度。第 $i$ 行的第 $j$ 个数表示从上往下第 $i$ 行、从左往右第 $j$ 列的单位巧克力的美味度。单位巧克力的美味度在 $1$ 到 $10^6$ 之间(包含边界)。
输出格式
在一行中输出给定巧克力的总美味度。
样例
输入样例 1
1 4 1 2 4 8
输出样例 1
72
输入样例 2
2 3 1 1 1 1 1 1
输出样例 2
22
说明
两个非负整数 $a$ 和 $b$ 的异或(XOR)记作 $a \oplus b$,其定义如下:
- 将 $a$ 和 $b$ 表示为相同长度的二进制数,如果它们的第 $i$ 位相同,则 $a \oplus b$ 的二进制表示的第 $i$ 位为 $0$,如果不同则为 $1$。如果二进制表示的长度不同,则在较短的数前面补足所需数量的 $0$ 后进行计算。
在 C、C++、Python 等编程语言中,$a$ 和 $b$ 的异或用 a ^ b 表示。
多个非负整数 $a_1, a_2, \cdots, a_n$ 的异或等于从前往后依次计算异或的结果,即 $((a_1 \oplus a_2) \oplus \cdots) \oplus a_n$。