Ổ khóa đặc biệt

Xem dạng PDF

Gửi bài giải


Điểm: 0,43 (OI)
Giới hạn thời gian: 3.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
Lê Yên Thanh
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Ổ khóa nhà của yenthanh132 rất đặc biệt. Nó gồm ~5~ vòng số. Mỗi vòng có đúng ~n~ số, mỗi số có một giá trị nhất định. Cụ thể, vòng thứ ~i~ sẽ chứa ~n~ số: ~a(i~, ~1)~, ~a(i~, ~2)~, ~a(i~, ~3)~, ..., ~a(i~, ~n)~.

image

Do vốn tính hay quên nên yenthanh132 không để một mật mã nhất định mà thay vào đó yenthanh132 đã yêu cầu người ta thiết kế ra một ổ khóa đặt biệt như sau: yenthanh132 sẽ chọn ra một số nguyên ~k~. Để mở được ổ khóa, ta cần phải xoay các vòng số, sao cho tổng ~5~ số hiện trên ~5~ vòng số này bằng ~k~.

Yêu cầu: Cho các giá trị trên ~5~ vòng số. Hãy giúp yenthanh132 đếm xem có bao nhiêu cách để mở ổ khóa của anh ta. Giả sử có ~2~ cách xoay để chọn các số trên vòng số là ~[a(1~, ~i_1)~, ~a(2~, ~i_2)~, ~a(3~, ~i_3)~, ~a(4~, ~i_4)~, ~a(5~, ~i_5)]~ và ~[a(1~, ~j_1)~, ~a(2~, ~j_2)~, ~a(3~, ~j_3)~, ~a(4~, ~j_4)~, ~a(5~, ~j_5)]~. Hai cách đó được xem là khác nhau nếu: hoặc ~i_1 \neq j_1~, hoặc ~i_2 \neq j_2~, hoặc ~i_3 \neq j_3~, hoặc ~i_4 \neq j_4~, hoặc ~i_5 \neq j_5~. (xem ví dụ để hiểu rõ hơn).

Input

  • Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~.
  • Tiếp theo là ~5~ dòng, mỗi dòng ~n~ số nguyên, số thứ ~j~ trên dòng thứ ~i + 1~ là giá trị của ~a(i~, ~j)~.

Output

  • Một số nguyên duy nhất là số cách để mở ổ khóa của yenthanh132.

Giới hạn

  • ~1 \leq n \leq 500~
  • Trong ~10\%~ test có ~n \leq 20~
  • Trong ~30\%~ test tiếp theo có ~n \leq 100~
  • ~- 10^{9} \leq~ ~a(i~, ~j)~, ~k \leq 10^{9}~

Sample Input 1

2 2
-2 -2
1 2
1 2
1 2
1 2

Sample Output 1

2

Sample Input 2

5 7
-3 -4 -6 5 -2
9 9 2 -3 -3
-3 -8 7 10 7
0 4 1 -4 1
5 2 -7 -9 3

Sample Output 2

113

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.