TLEOJ Contest #10 - Mã Kekma

2tk

Ở Trái Đất, cấu trúc của ADN được cấu tạo từ sự liên kết của 2 chuỗi nucleotit, trong đó mỗi chuỗi gồm 1 trong 4 nucleotit mang tên A,T,G,X, còn ở hành tinh penguin, tồn tại 26 loại nucleotit tương ứng với 26 chữ cái tiếng Anh viết hoa: A,B,\dots,Z.

Hành tinh penguin rất tân tiến, vậy nên các nhà khoa học đã tạo ra một loại nucleotit mới rất bí ẩn, đặt tên là ?. Bên cạnh đó, họ cũng tìm ra công nghệ chỉnh sửa, chèn vào thứ tự của dãy nucleotit đã có sẵn các loại nucleotit bí ẩn kia.

Ví dụ, có dãy nucleotit A-B-C, các nhà khoa học có thể tạo ra vô hạn dãy mới nhờ thêm vào một vị trí bất kỳ 1 nucleotit ? ấy, điển hình như A-?-B-C-?,...

Nhờ công nghệ thần kỳ kia, và sự đa dạng trong các kiểu hình nucleotit, cộng thêm nucleotit bí ẩn mang tên ? được phát minh ra, các nhà khoa học đã có thể chữa mọi loại bệnh tật, tăng tuổi thọ, cho con người những khả năng đặc biệt!

Sau quá trình nghiên cứu, 2tk nhận ra một chuỗi ADN có mã Kekma càng nhỏ, thì lợi ích của nó cho con người càng lớn, trong đó mã Kekma được tính như sau:

Cách tính

Với 2 dãy nucleotit a và b có cùng độ dài n, công thức được tính như sau:

  • Với vị trí i, nếu cả a_i và b_i đều là 1 trong 26 ký tự tiếng Anh viết hoa (A,B,\dots,Z) thì giá trị của vị trí thứ i được tính như sau:
    • Gọi x là giá trị của nucleotit thứ i trong dãy 1, y là giá trị của nucleotit thứ i trong dãy 2 (Trong đó A tương ứng với 1, B tương ứng với 2, ..., Z tương ứng với 26)
    • Khi đó giá trị của vị trí thứ i là |x-y|.
  • Ngược lại (tức là 1 trong 2 ký tự là ?) thì giá trị của vị trí thứ i là hằng số Kekma k (được 2tk tìm ra).
  • Mã Kekma của 2 dãy a và b là tổng giá trị của mọi vị trí i từ 1 đến n.

Ví dụ

VD1: ADN có dạng:

  • A-B-C
  • C-A-B

Xét vị trí đầu tiên, có 2 ký tự A,C không phải là nucleotit đặc biệt ? nên giá trị của vị trí đầu tiên là |1-3|=2.
Xét vị trí thứ hai, có giá trị của vị trí thứ hai là |2-1|=1.
Xét vị trí thứ ba, có giá trị của vị trí thứ ba là |3-2|=1.
Mã Kekma của nó là 2+1+1=4.

VD2: ADN có dạng:

  • A-B-?
  • C-?-B

Giả sử hằng số Kekma k=3.
Xét vị trí đầu tiên, có giá trị của vị trí đầu tiên là |1-3|=2.
Xét vị trí thứ hai, có ký tự ? ở vị trí thứ hai trong nucleotit thứ hai nên giá trị của vị trí thứ hai là k=3.
Xét vị trí thứ ba, có ký tự ? ở vị trí thứ ba trong nucleotit thứ nhất nên giá trị của vị trí thứ ba là k=3.
Mã Kekma của nó là 2+3+3=8.

Vì tìm ra được lý thuyết ấy, 2tk được cả thế giới tôn vinh và giao cho một trọng trách lớn lao là tìm được mã Kekma nhỏ nhất của 1 ADN được tạo thành từ 2 chuỗi nucleotit đã được xử lý.

Biết rằng ban đầu 2 chuỗi nucleotit có độ dài bất kỳ, chỉ chứa các nucleotit A,B,\dots,Z, và 2tk cần xử lý chúng bằng cách cho thêm một số nucleotit bí ẩn mang tên ? vào một số vị trí bất kỳ trong 2 chuỗi nucleotit đó. Chú ý là sau khi thực hiện thao tác thì 2 dãy phải có độ dài bằng nhau.

Vì 2tk bận nghiên cứu thêm về mã Kekma tại web Kekma, nó đã bị ẩn đi do đó là thông tin mật, vậy nên anh ấy đã giao nhiệm vụ lớn lao kia cho bạn, hãy giúp 2tk tạo ra 1 ADN thỏa mãn yêu cầu.

Input, Output và Subtask

Input

  • Dòng thứ nhất: 2 chuỗi Nucleotit chỉ gồm các ký tự từ A,B,\dots,Z tương ứng các nucleotit, độ dài không quá 3000.
  • Dòng tiếp theo: hằng số Kekma, gọi tắt là k (0 \le k \le 1000)

Output

  • Gồm 1 dòng duy nhất là kết quả thỏa mãn.

Example

Input

AAA
CCC
0

Output

0
Note

Ta có thể xử lý 2 chuỗi như sau:

  • A-?-A-?-A-?
  • ?-C-?-C-?-C

Khi đó, dễ dàng tính được mã Kekma là 0.

TLEOJ Contest #10 - Tổng dãy con

jiangly

Sau khi bị jiangly đăng meme :truongsinh:, tourist đã trở nên vô cùng tức giận và thách đấu jiangly 1 trận. Nếu tourist thắng thì jiangly phải xin lỗi anh ta và gỡ meme :truongsinh: đang nổi đình nổi đám dạo gần đây (nhưng rồi flo sẽ đăng lại ). Sau đó, 2tk đã thách đố họ một bài toán và nếu ai làm đúng trước sẽ là người chiến thắng , và anh ta cũng sẽ là trọng tài.

2tk có 1 dãy số a vô tận bắt đầu bằng số x và số sau bằng số trước cộng thêm k. Dãy số b vô tận được tạo thành bởi việc lấy 2 chữ số cuối của số ở vị trí tương ứng trong dãy a.

Ví dụ với dãy số a có x = 1 và k = 33 thì ta có dãy a = 1, 34, 67, 100, 133, 166, .... Ta có dãy b tương ứng là 1,34, 67, 0, 33, 66, ...

Yêu cầu: Tính tổng n số đầu tiên trong dãy b.

Input, Output và Subtask

Input

  • Nhập vào ba số tự nhiên lần lượt là x, k, n. Mỗi số ghi trên một dòng

Output

  • Đưa ra một số tự nhiên là kết quả của bài toán.

Subtask

  • Subtask 1 (60\%): 1 \le x, k, n \le 10^3.
  • Subtask 2 (40\%): 1 \le x, k, n \le 10^9.

Example

Sample input
1
33
4
Sample output
102
Note

1 + 34 + 67 + 0 = 102.

TLEOJ Contest #10 - Thao Tác Bit

2tk

Tại lớp học về bit, 2tk có nhiệm vụ là giải 1 bài toán như sau:

  • Cho một dãy, mỗi thao tác bạn có thể hoán đổi bit thứ k của a_i và a_j.
  • Bằng các thao tác trên, giá trị chênh lệch lớn nhất giữa 2 phần tử của dãy a là bao nhiêu.

2tk đã có thuật toán cho riêng mình còn bạn thì sao.

Input, output và Subtask

Input

  • Dòng đầu tiên nhập t (1 \leq t \leq 100)
  • Sau đó là t block được định dạng như sau:
    • Dòng đầu sẽ là n số lượng phần tử của mảng a (1 \leq n \leq 1000).
    • Dòng tiếp gồm n số nguyên a_i (0\le a_i<2^{30}).

Output

  • Gồm t dòng mỗi dòng là kết quả của các truy vấn.

Example

Input

4
3
1 0 1
4
5 5 5 5
5
1 2 3 4 5
7
20 85 100 41 76 49 36

Output

1
0
7
125

TLEOJ Contest #10 - Nước Cam

icebearlovecode

Sau khi đá bóng, chinhoangmanutd đã rất khát nước. Sau đó anh ấy đi đến quầy nước cam với t đồng trong người.

Tại quầy bán nước cam, có 2 loại chai:

  • Chai nhựa với mức giá là x
  • Chai thủy tinh với mức giá là y
  • Vì chai thủy tinh có thể tái chế được nên là có thể bán lại cho quán với mức giá là z

Nhiệm vụ của bạn là tính số chai lớn nhất mà chinhoangmanutd có thể mua với t đồng trên. Và bạn sẽ phải xử lí q trường hợp như vậy.

Input, Output và Subtask

Input

  • Dòng đầu tiên số nguyên dương q (1\le q\le10^5)
  • Gồm q dòng có các số nguyên t,x,y,z (1\le t,x,z,y\le 10^9;z<y)

Output

  • Xuất ra q dòng, mỗi dòng gồm duy nhất 1 số là số chai lớn nhất mua được.

Subtask

  • Subtask 1 (20\% số điểm): q\le 100;1\le t,x,y,z\le 1000.
  • Subtask 2 (30\% số điểm): q\le 1000;1\le t,x,y,z\le 10^6.
  • Subtask 3 (50\% số điểm): Không có giới hạn gì thêm

Example

Test 1

Input
1
30 6 10 8
Output
12

TLEOJ Contest #10 - Dãy con chính phương

icebearlovecode

Trong thủ đô Penguin có n ngôi nhà, ngôi nhà thứ i có mã định danh là a_i. Sau khi đi dạo trong thủ đô, thị trưởng chinhoangmanutd nhận thấy các ngôi nhà không được đẹp nên nhờ jiangly kiểm tra xem có bao nhiêu dãy nhà liên tiếp có tổng mã định danh là một số chính phương để chinhoangmanutd đầu tư và nâng cấp. Sau khi tìm được kết quả, jiangly vui vẻ mang kết quả đến cho thị trưởng chinhoangmanutd nhưng do mãi xem màn trình diễn ảo thuật chinh chong nên cậu đã quên mất kết quả là bao nhiêu. Bạn hãy giúp jiangly tìm lại kết quả đó nhé.

Input, Output và Subtask

Input

  • Dòng đầu tiên là số nguyên dương n (1 \le n \le 10^5).
  • Dòng tiếp theo là dãy a gồm n phần tử a_1, a_2, ..., a_n (1 \le a_i \le 10^2).

Output

  • Gồm 1 dòng duy nhất là kết quả thỏa mãn.

Subtask

  • Subtask 1 (50\%): 1 \le n \le 100.
  • Subtask 2 (50\%): Không có giới hạn gì thêm.

Example

Input

4
7 5 4 9

Output

5
Note
  • Có 5 dãy có tổng là số chính phương là [4], [9], [5, 4], [7, 5, 4], [7, 5, 4, 9].

Tình bạn ...

flo

Đây là một câu chuyện không có thật ...

flo và mondellbit009 là 1 đôi bạn vô cùng thân thiết bởi cả 2 đều có chung chỉ hướng và tính cách cũng khá phù hợp với nhau. Hằng ngày, flo và mondellbit009 đều nhắn tin, đi chơi với nhau để giải tỏa và tâm sự, thấu hiểu nhau. Rồi bỗng đến một ngày, khi flo nhắn tin rủ mondellbit009 thì cậu chỉ nhận lại 1 dòng tin nhắn "T ghét m rồi, đừng nhắn cho t nữa." Khi đọc xong dòng tin nhắn ấy flo trở nên tuyệt vọng và rồi đi tìm lý do tại sao cậu lại tự nhiên bị ghét. Vì đã chơi với nhau lâu nên việc thiếu mondellbit009 đối với flo bây giờ không khác gì 1 sự sụp đổ cả. Lúc ấy flo chợt nhận ra rằng mình đã thích mondellbit009 từ lúc nào không hay. Thế là flo liền trở nên trầm cảm, buồn bã và thường xuyên uống rượu bia (không cồn) để giải tỏa nhưng cũng không khá hơn bao nhiêu.

Như mọi khi, flo ngồi trong quán nhậu uống vài cốc bia. Bỗng từ đâu, một ông lão với thân hình gầy gò bước đến và xin cậu một chút tiền để sống qua ngày. Dù có trầm cảm như vậy nhưng rồi flo cũng quyết định cho ông lão 60 tỷ. Sau đó, ông lão liền cảm ơn và rồi biến thành 1 ông bụt. flo thấy thế vô cùng ngạc nhiên nhưng rồi cũng mặc kệ. Nhận ra được lý do sao flo buồn, ông bụt quyết định ban tặng cho flo 69 điều ước nếu cậu có thể giải được bài toán sau.

Nội dung bài toán

Hàm D(n) là một hàm được định nghĩa như sau.

def D(n) {
    count = 0, sum = 0, prod = 1
    for (i = 1, i <= n, i = i+1) {
        if (n%i == 0) {
            count = count+1, sum = sum+i, prod = prod*i
        }
    }
    return count, sum, prod
}

Cho số nguyên dương n, nhiệm vụ của bạn là tính D(n). Chúc bạn may mắn nhé.

Vì tâm trạng không được ổn nên flo đã quyết định từ bỏ cơ hội. Nhưng khi cậu nghĩ tới những kỉ niệm đẹp giữa cậu và mondellbit009, cậu liền đồng ý thử thách của ông bụt. Tuy nhiên bài toán quá khó khiến cậu không tài nào giải được. Là một con người tốt bụng, bạn hãy giúp flo nhé.

Input, Output and Scoring

Input

  • Số nguyên dương n.

Output

  • In ra cả 3 kết quả sau khi chia lấy dư cho 10^9+7.

Scoring

  • Subtask 1 (20\%): 1 \le n \le 10^{12}.
  • Subtask 2 (80\%): 1 \le n \le 10^{18}.

Example

Input

69

Output

4 96 4761

Robocon (HSG12 QT 2023)

huyhau6a2, i_love_moonlight, tourist

Nhằm tăng cường các hoạt động giáo dục STEM, nhà trường tổ chức 1 trò chơi Robocon dành cho học sinh đam mê công nghệ. Ban tổ chức đặt ra luật chơi như sau:

Luật

  • Trên 1 lưới ô vuông có kích thước m * n, các hàng được đánh số từ 1 đến m từ trên xuống dưới và các cột được đánh số từ 1 đến n từ trái sang phải.
  • Để thắng được trong trò chơi, đội chơi phải điều khiển con robot của mình di chuyển trong các ô trên lưới, xuất phát từ ô (1,1) kết thúc ở ô (m,n).
  • Mỗi bước robot chỉ được di chuyển sang bên phải hoặc xuống dưới, tức là nếu robot ở ô (i,j) thì chỉ di chuyển được đến (i,j+1) hoặc (i+1,j)
  • Để tăng độ khó BTC quyết định đặt k trướng ngại vật ở ô (i,j) và robot không thể vào ô này.

mondellbit009 và các bạn cùng chơi trò chơi này và muốn thắng, Nên phải xác định các hành trình để về đích.
Yêu cầu:Hãy xác định số hành trình khác nhau để robot có thể về đích theo module 10^9+7. 2 hành trình khác nhau khi có ít nhất 1 ô (i,j) của hành trình này không thuộc hành trình khác.

Input, output và Subtask

Input(ROBOCON.INP)

  • Dòng đầu tiên gồm 3 số nguyên m,n và k (n,m\le10^6,K\le2*10^3).
  • k dòng tiếp theo, mỗi dòng gồm 2 số nguyên x,y là vị trị có trướng ngại vật.
  • dữ liệu đảm bảo ô (1,1) và ô (m,n) không có trướng ngại vật
Input(ROBOCON.OUT)
  • In ra tệp ROBOCON.OUT là kết quả của bài toán
Scoring
  • Subtask 1 (40\%): 1\le n, m, k \le 1000.
  • Subtask 2 (20\%): số điểm 1\le n, m\le 10^5; k = 0.
  • Subtask 3 (20\%) số điểm 1\le n, m \le10^5; k = 1.
  • Subtask 4 (20\%) số điểm không có giới hạn gì thêm.

Example

Input(ROBOCON.INP)

3 3 2
1 2
3 1

Output(ROBOCON.out)

2

Đếm số chia hết (HSG12 QT 2023)

i_love_moonlight, tourist

Cho số nguyên K và m số nguyên a_1,a_2,....a_m.
Yêu cầu: đếm số lượng số nguyên nhỏ hơn K và chia hết cho ít nhất 1 số trong mảng a.

Input, output và Subtask

Input(CHIAHET.INP)

  • Dòng đầu tiên gồm 2 số nguyên K và m (m\le15,K\le10^9).
  • Dòng thứ hai là chiều cao của n cây A_1,A_2,A_3,...,A_m (A_i\le10^9).
Output(CHIAHET.OUT)
  • In ra kết quả của bài toán
Scoring
  • Subtask 1:30\% số điểm 1\le K\le10^6 , 1\le m \le 2.
  • Subtask 2:30\% số điểm 1\le K\le10^6 , 1\le m \le 15.
  • Subtask 3:40\% số điểm không có giới hạn gì thêm.

Example

Input(CHIAHET.INP)

10 2 
2 3

Output(CHIAHET.INP)

7
Note
  • Các số đó là 2,3,4,6,8,9,10.

Mật khẩu an toàn (HSG12 QT 2023)

i_love_moonlight, tourist

Một xâu kí tự được coi là mật khẩu "an toàn" nếu thỏa mãn:

  • Có độ dài ít nhất là 6.
  • Có ít nhất một chữ cái tiếng Anh in thường (a...z).
  • Có ít nhất một chữ cái tiếng Anh in thường (A...Z).
  • Có ít nhất một kí tự số thập phân (0...9).

Yêu cầu: cho 1 xâu S đếm số lượng xâu con liên tiếp của S là mật khẩu an toàn.

Input, output và Subtask

Input(MATKHAU.INP)
  • Gồm 1 dòng duy nhất chứa xâu S.
Output(MATKHAU.INP)
  • in ra số lượng xâu con thỏa mãn.
Scoring
  • Subtask 1: 50\% số điểm độ dài xâu S nhỏ hơn 500.
  • Subtask 2: 30\% số điểm độ dài xâu S nhỏ hơn 2*10^5.
  • Subtask 3: 20\% số điểm độ dài xâu S nhỏ hơn 2*10^6.

Example 1

Input(MATKHAU.INP)

12Aabcde

Output(MATKHAU.INP)

5

Example 2

Input(MATKHAU.INP)

Ab12Ab12Ab

Output(MATKHAU.INP)

15

Bedan Contest #01 - C - Nhảy lò cò

flo

Vì trời mưa liên tục những ngày nay nên flo chỉ có thể ở nhà mà không thể ra ngoài đường để chơi. Vì vậy flo quyết định rủ bạn bè đến nhà chơi nhảy lò cò

Trò chơi bắt đầu với một dãy gồm n ô, ô ở vị trí pos sẽ có số điểm là a_{pos}. flo có tổng cộng n lượt chơi và tại lượt thứ i, cậu sẽ nhảy lên i ô trong n ô trên. Với mỗi bước nhảy, flo có thể nhảy đến một ô bất kì với điều kiện là vị trí ô cậu nhảy đến phải lớn hơn vị trí ô mà trước đó cậu đứng. Số điểm của mỗi lượt chơi sẽ là số nguyên dương m lớn nhất thỏa mãn P chia hết cho 10^m với P là tích của số điểm của các ô mà flo nhảy lên trong lượt chơi đó.

Người chiến thắng sẽ là người có tống số điểm sau n lượt chơi là cao nhất và flo muốn giành được chiến thắng. Tuy nhiên với mỗi lượt chơi, số lượng cách nhảy quá nhiều khiến cậu không biết phải làm như thế nào. Bạn hãy tính giúp flo số điểm tối đa cậu ấy có thể đạt được là bao nhiêu nhé.

Input, Output and Scoring

Input

  • Hai nguyên dương n (1 \le n \le 100).
  • Dãy a gồm n phần tử a_1, a_2, ..., a_n (1 \le a_i \le 100).

Output

  • In ra kết quả thỏa mãn.

Scoring

  • Subtask 1 (20\%): 1 \le n \le 20.
  • Subtask 2 (80\%): Không giới hạn gì thêm.

Example

Input

3
2 5 10

Output

4
Note
  • Tại lượt chơi 1, flo có thể nhảy vào ô thứ 3 để có số điểm là 1.
  • Tại lượt chơi thứ 2, flo có thể nhảy vào ô thứ 1, 2 để có số điểm là 1.
  • Tại lượt chơi thứ 3, flo có thể nhảy vào ô thứ 1, 2, 3 để có số điểm là 2.
  • Tổng số điểm của các lượt chơi trên là 4, dễ dàng thấy đây là số điểm lớn nhất mà flo có thể đạt được.

Bedan Contest #01 - B - Trò chơi với bi

flo

Quá rảnh rỗi, flo nhớ lại hồi cậu đi chơi ở công viên Châu Phi. Hồi đó, cậu và cô người yêu của cậu vẫn còn yêu nhau say đắm. Một ký ức đẹp như vậy làm flo chìm đắm vào nó. Bỗng cậu nhớ có một trò chơi đã hại não của cậu và cả cô người yêu của cậu khiến cho cậu vẫn còn ám ảnh đến bây giờ. Trò chơi ấy có nội dung như sau.

Nội dung trò chơi

Cho 1 dãy bi gồm n viên bi, viên thứ i có số điểm là a_i. Bạn sẽ có m lượt chơi và tại mỗi lượt, bạn phải loại bỏ một số viên bi trong đoạn [l, r] sao cho độ đẹp của các viên bi còn lại của đoạn [l, r] là lớn nhất.

Độ đẹp của một dãy a gồm n viên bi được định nghĩa là a_1 - a_2 + a_3 - ... + (-1)^{n-1} \times a_n.

flo bỗng nhớ lại sự đau đơn khi trò chơi ấy. Bạn có vẻ rảnh rỗi như flo nên cậu ấy muốn bạn thử sức với trò chơi này. Bạn hãy đồng ý và thử sức nhé.

Input, Output and Scoring

Input

  • Hai nguyên dương n, m (1 \le n, m \le 10^5).
  • Dãy a gồm n viên bi với các số điểm a_1, a_2, ..., a_n (1 \le a_i \le 10^9).
  • m dòng tiếp theo, mỗi dòng gồm 2 số nguyên dương l, r (1 \le l \le r \le n).

Output

  • Với mỗi lần chơi, hãy in ra độ đẹp của các viên bi lớn nhất có thể của đoạn [l, r].

Scoring

  • Subtask 1 (10\%): 1 \le n, m \le 20.
  • Subtask 2 (30\%): 1 \le n, m \le 10^3.
  • Subtask 3 (60\%): Không giới hạn gì thêm.

Example

Input

5 2
1 4 2 3 9
1 4
2 5

Output

5
11
Note
  • Ở lượt chơi 1, ta có thể loại bỏ viên bi thứ 1 của đoạn [1, 4]. Độ đẹp của các viên bi là 4-2+3 = 5.
  • Ở lượt chơi 2, ta có thể loại bỏ viên bi thứ 3 của đoạn [2, 5]. Độ đẹp của các viên bi là 4-2+9 = 11.

Bedan Contest #01 - A - Cặp số Fibo

flo

Dãy số Fibo là 1 dãy số có quy luật như sau:

  • F_1 = F_2 = 1.
  • F_n = F_{n-1}+F_{n-2} với n > 2.

Cho dãy a gồm n phần tử, một cặp chỉ số (i, j) được gọi là cặp số Fibo nếu nó thỏa mãn:

  • 1 \le i \le j \le n.
  • a_i+a_{i+1}+...+a_j là 1 số Fibo.

Nhiệm vụ của bạn là đếm số lượng cặp số Fibo (i, j) của dãy a.

Input, Output and Scoring

Input

  • Số nguyên dương n (1 \le n \le 10^5).
  • Dãy a gồm n phần tử a_1, a_2, ..., a_n (1 \le a_i \le 10^5).

Output

  • In ra kết quả thỏa mãn.

Scoring

  • Subtask 1 (20\%): 1 \le n \le 10^3.
  • Subtask 2 (80\%): Không giới hạn gì thêm.

Example

Input

4
2 7 4 3

Output

3
Note
  • Có 3 cặp số Fibo là (1, 1), (1, 3), (4, 4).

Dãy số Sussy

flo

Hãy chú ý đến con số 2^{32}-3 nhé.

Dãy số Fibonacci là dãy số có quy luật như sau.

  • F_1 = F_2 = 1.
  • F_n = F_{n-1} + F_{n-2} với n > 2.

Một vài số đầu tiên của dãy số trên là 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ....

flo cũng có 1 dãy số có quy luật khá tương tự dãy số trên và cậu đặt tên là Dãy số Sussy. Dãy số ấy có quy luật như sau:

  • S_1 = 69; S_2 = 420.
  • S_n = S_{n-1} + S_{n-2} + S_{n-1} \times S_{n-2} với n > 2.

flo cho có t số nguyên dương n và cậu ấy muốn biết S_n mod 2^{32}-3 có giá trị là bao nhiêu, bạn hãy tính giúp flo nhé.

Sự thật thú vị

  • Với n > 2, S_n sẽ có F_{n-2} chữ số 9 ở cuối. Phần chứng minh cho điều này thì mời bạn.

Input, Output and Scoring

Input

  • Số nguyên dương t (1 \le t \le 10^5).
  • t dòng tiếp theo, mỗi dòng gồm 1 số nguyên dương n (1 \le n \le 10^{18}).

Output

  • Với mỗi dòng, hãy in ra kết quả thỏa mãn.

Scoring

  • Subtask 1 (20\%): 1 \le n \le 10^6.
  • Subtask 2 (80\%): Không giới hạn gì thêm.

Example

Input

4
1
2
3
4

Output

69
420
29469
12406869
Note
  • 5 số đầu tiên của dãy số Sussy là 69, 420, 29469, 12406869, 365630458899.

Python Basic Contest #01 - Đếm số nguyên tố trên đoạn (Python only)

Sunlight

Bạn được cho hai số nguyên dương (l, r). Bạn cần đếm số lượng số nguyên tố trong đoạn [l, r].

Input, Output và Subtask

Input (bàn phím)
  • Một dòng duy nhất gồm hai số nguyên dương l, r (l, r \le 10^{12}, r - l \le 10^6).
Output (màn hình)
  • Một dòng duy nhất gồm số lượng số nguyên tố trong đoạn [l, r].
Subtask
Tỉ lệ điểm (%) Giới hạn
20 l = 1, r \le 1000
20 l = 1, r \le 4 \times 10^4
20 l = 1
20 r - l \le 2000
10 r - l \le 10^5
10 Không có giới hạn gì thêm
Sample 1
Input (bàn phím)
8 20
Output (màn hình)
4
Notes
  • Các số nguyên tố trong đoạn [8, 20] là 11, 13, 17, 19.
Sample 2
Input (bàn phím)
1 100
Output (màn hình)
25

Python Basic Contest #01 - Đếm số nguyên tố trên đoạn

Sunlight

Bạn được cho hai số nguyên dương (l, r). Bạn cần đếm số lượng số nguyên tố trong đoạn [l, r].

Input, Output và Subtask

Input (bàn phím)
  • Một dòng duy nhất gồm hai số nguyên dương l, r (l, r \le 10^{12}, r - l \le 10^6).
Output (màn hình)
  • Một dòng duy nhất gồm số lượng số nguyên tố trong đoạn [l, r].
Subtask
Tỉ lệ điểm (%) Giới hạn
20 l = 1, r \le 1000
20 l = 1, r \le 4 \times 10^4
20 l = 1
20 r - l \le 2000
10 r - l \le 10^5
10 Không có giới hạn gì thêm
Sample 1
Input (bàn phím)
8 20
Output (màn hình)
4
Notes
  • Các số nguyên tố trong đoạn [8, 20] là 11, 13, 17, 19.
Sample 2
Input (bàn phím)
1 100
Output (màn hình)
25

Số tuổi

i_love_moonlight

Nhiệm vụ: Rất đơn giản, hãy tính số tuổi của người có năm sinh là n.

Input and Output

Input

  • Nhập n.

Output

  • In ra một dòng là yêu cầu của bài.

Python Basic Contest #01 - Tổng các tích (Python only)

Sunlight

Bạn được cho một dãy số nguyên dương a_1, a_2, ..., a_n. Bạn hãy tính tổng các tích của các dãy con liên tiếp khác rỗng của dãy số trên, hay nói cách khác, hãy tính tổng các giá trị a_l \times a_{l + 1} \times ... \times a_r với mọi 1 \le l \le r \le n.

Input, Output và Subtask

Input (bàn phím)
  • Dòng đầu tiên gồm số nguyên dương n (n \le 10^5).
  • Dòng tiếp theo gồm n số nguyên dương a_i (a_i \le 10^9).
Output (màn hình)
  • Một dòng duy nhất là kết quả bài toán. Vì kết quả có thể rất lớn nên bạn chỉ cần in ra phần dư của nó khi chia cho 10^9 + 7.
Subtask
Tỉ lệ điểm (%) Giới hạn
40 n \le 10^2
40 n \le 10^3
20 n \le 10^5
Sample 1
Input (bàn phím)
3
1 2 3
Output (màn hình)
20
Notes
  • Kết quả của bài toán là 1 + 2 + 3 + 1 \times 2 + 2 \times 3 + 1 \times 2 \times 3 = 20.
Sample 2
Input (bàn phím)
5
1 2 3 4 5
Output (màn hình)
409