Toàn Là Xor

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

ami đ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)\), ami chỉ có thể nhảy xuống \((i+1, j)\) hoặc qua phải \((i, j+1)\). ami sẽ bắt đầu nhảy từ ô \((1, 1)\), và mỗi lần nhảy xuống 1 ô \((i, j)\), ami sẽ viết số \(a_{i,j}\) ra giấy, và khi kết thúc ở ô \((n, m)\), ami sẽ tính phép xor tất cả các số đã được viết.

ami 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

Mới nhất
Tải bình luận...

Không có bình luận nào.