Toàn Là Xor
Xem PDFđang nhảy trên một tấm bảng \(n \times m\). Các hàng được đánh số từ 1 đến \(n\), và các cột được đánh số từ 1 đến \(m\), ô nằm trên hàng \(i\), cột \(j\) là ô \((i, j)\).
Từ một ô \((i, j)\), chỉ có thể nhảy xuống \((i+1, j)\) hoặc qua phải \((i, j+1)\). sẽ bắt đầu nhảy từ ô \((1, 1)\), và mỗi lần nhảy xuống 1 ô \((i, j)\), sẽ viết số \(a_{i,j}\) ra giấy, và khi kết thúc ở ô \((n, m)\), sẽ tính phép xor tất cả các số đã được viết.
sẽ cho các bạn một số \(k\). Các bạn cần đếm số đường đi phân biệt từ ô \((1, 1)\) đến ô \((n, m)\) mà phép xor tất cả các ô trên một đường đi đó bằng đúng \(k\).
Input
- Dòng đầu chứa 3 số nguyên dương \(n\), \(m\) và \(k\).
- \(n\) dòng tiếp theo, mỗi dòng chứa \(m\) số nguyên \(a_{i,j}\) là giá trị một ô trên bảng.
Output
- In ra số đường đi mà xor bằng \(k\).
Example
Test 1
Input
2 3 1
1 1 1
1 1 1
Output
0
Note
Ví dụ 1, tất cả các đường đi đều có xor bằng 0.
Test 2
Input
2 2 1
1 1
2 2
Output
1
Note
Ví dụ 2, có thể đi từ ô \((1, 1)\) --> \((2, 1)\) --> \((2, 2)\). xor sẽ bằng \(1 \oplus 2 \oplus 2 = 1\).
Giới hạn
- Trong tất cả các test, \(1 \leq a_{i,j}, k \leq 10^{18}\).
- \(20\%\) test có \(1 \leq n, m \leq 10\).
- \(80\%\) test có \(2 \leq n, m \leq 20\).
Bình luận