INKPRINT - Mực in

Giới hạn
  • Thời gian: 0.4s
  • Bộ nhớ: 1536MB
  • Mã nguồn: 50000 bytes

Ghi chú: Các bài VNOI đã được chuyển qua VNOJ (Thông báo). Đề bài trên VNOI và vn.spoj.com sẽ không được cập nhật nữa. Một số đề bài không chính xác sẽ chỉ được cập nhật trên VNOJ. Bạn vẫn có thể tìm kiếm đề bài trên VNOI.

Link đọc đề trên VNOJ

Hệ thống ngôn ngữ ở đất nước X có N ký tự là C 1 , C 2 , … C n và mọi văn bản lưu thông ở đây đều phải viết bằng ngôn ngữ này. Để in 1 ký tự C i nào đó sẽ tốn 1 lượng mực in là M i đơn vị. Có một nhà toán học ngốc nghếch cứ thắc mắc là với một lượng mực in là S đơn vị thì có thể in được bao nhiêu xâu ký tự khác nhau mà lại sử dụng vừa hết đúng S đơn vị nhỉ ? Ông ta cứ thắc mắc câu hỏi đó đến mức lẩn thẩn hết cả người.

Bạn là một học sinh chuyên Tin/một sinh viên CNTT tài năng, hãy lập trình giúp ông ấy giải quyết bài toán này nhé.

Input

Dòng đầu tiên gồm 2 số nguyên dương N S ( N ≤ 26, S ≤ 10 200 )

N dòng tiếp theo, dòng thứ i dòng gồm 1 số nguyên dương M i cho biết lượng mực cần thiết để in ký tự C i ( M i ≤ N ) .

Output

Ghi ra (số lượng xâu ký tự khác nhau có thể in được với lượng mực là S ) mod 777777777.

Example

Input:
4 3
1
3
2
4
Output:
4


  • Người up: voj
  • Nguồn bài: VM10 - Tác giả : Nguyễn Minh Hiếu