Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

root

Girl Number

100 điểm

Người ta thường nói tình yêu cũng giống như điểm Codeforces, có lúc thăng hoa, có lúc chạm đáy. Một ngày nọ, Ami ngồi ngẩn ngơ viết ra một dãy chữ số. Nhìn lại, cậu nhận ra các chữ số cứ lần lượt tăng rồi giảm, giảm rồi lại tăng, chẳng khác nào biểu đồ cảm xúc của mình.

Thấy khá thú vị, Ami quyết định gọi những số như vậy là Girl Number và mang đi đố CaiWinDao.

Một số nguyên không âm có dạng \(a_1a_2\dots a_n\) được gọi là Girl Number nếu các chữ số của nó luân phiên tăng và giảm. Cụ thể, số đó phải thỏa mãn một trong hai dạng sau:

\[ a_1<a_2,\; a_2>a_3,\; a_3<a_4,\; \dots \]

hoặc

\[ a_1>a_2,\; a_2<a_3,\; a_3>a_4,\; \dots \]

Yêu cầu. Cho hai số nguyên không âm \(L\) và \(R\). Hãy đếm xem có bao nhiêu Girl Number nằm trong đoạn \([L,R]\).

\InputFile

  • Dòng đầu chứa hai số nguyên dương \(a\) và \(b\) \((1 \le a,b \le 10^5)\), lần lượt là số chữ số của \(L\) và \(R\).
  • Dòng thứ hai chứa hai số nguyên không âm \(L\) và \(R\) \((0 \le L \le R \le 10^{100000})\).

\OutputFile

In ra số lượng Girl Number trong đoạn \([L,R]\).

Vì đáp số có thể rất lớn, hãy in ra kết quả theo modulo \(1000000007\).

\Examples

\beginexample
\exmp
1 2
8 15

7

\exmp
4 4
1998 2004

0

\endexample

\Note

Trong ví dụ thứ nhất, mọi số từ \(8\) đến \(15\) đều là Girl Number, ngoại trừ số \(11\). Do đó đáp án là \(7\).

Trong ví dụ thứ hai, các số trong đoạn đều có hai chữ số ở giữa bằng nhau, nên không thể tạo thành một dãy luân phiên tăng và giảm. Vì vậy không có số nào thỏa mãn.

\Scoring

  • (30%) \(R \le 10^6\).
  • (30%) Số chữ số của \(R\) không vượt quá \(18\).
  • (40%) Không có ràng buộc bổ sung.

\endproblem

root

Số số chia hết cho 3

100 điểm

Với \(a\) và \(b\) là hai số nguyên được nhập vào từ bàn phím. Đếm số lượng các số chia hết cho \(3\) trong phạm vi từ \(a\) đến \(b\). Đưa ra màn hình kết quả là số lượng đếm được.

Input

Gồm một dòng chứa hai số nguyên dương \(a\) và \(b\). \((1 \leq a \leq b \leq 10^6)\).

Output

Một số nguyên là kết quả tìm được.

Example

Test 1

Input
1 12
Output
4

root

Nghi thức kho báu vàng

100 điểm

Trong một vương quốc cổ đại, có một kho báu được chia thành nhiều ngăn, mỗi ngăn chứa một số lượng vàng khác nhau. Số lượng vàng trong mỗi ngăn được biểu diễn bởi dãy số \(a\).

Để mở được kho báu, người thừa kế phải thực hiện một nghi thức đặc biệt. Trong mỗi nghi thức, số lượng vàng trong mỗi ngăn sẽ được thay đổi bằng ước số chung lớn nhất của số vàng trong ngăn đó và ngăn bên cạnh (ngăn bên cạnh ngăn cuối cùng là ngăn đầu tiên).

Ví dụ, nếu \(a = [16,24,10,5]\) thì sau một nghi lễ \(a\) mới \(=[gcd(16,24),\ gcd(24,10),\ gcd(10,5),\ gcd(5,16)] =[8,2,5,1]\).

Nghi thức này được lặp đi lặp lại cho đến khi số lượng vàng trong tất cả các ngăn trở nên bằng nhau. Ít nhất cần thực hiện bao nhiêu nghi thức để mở được kho báu?

Input

  • Dòng đầu tiên chứa số nguyên dương \(t\) \((1 \leq t \leq 10^4)\) biểu thị số lượng bộ câu hỏi.
  • Dòng đầu tiên của mỗi bộ câu hỏi, chứa số nguyên dương \(n\) \((2 \leq n \leq 2 \times 10^5)\) biểu thị số lượng ngăn.
  • Dòng thứ hai chứa \(n\) số nguyên dương \(a_1, a_2, ..., a_n\) \((1 \leq a_i \leq 10^6)\) biểu thị số lượng vàng ban đầu trong mỗi ngăn.
  • Tổng \(n\) qua các bộ câu hỏi không vượt quá \(2 \times 10^5\).

Output

  • In ra \(t\) số nguyên là số bước cần thiết để mở kho báu tương ứng với mỗi bộ câu hỏi.

Example

Test 1

Input
5
4
16 24 10 5
4
42 42 42 42
3
4 6 4
5
1 2 3 4 5
6
9 9 27 9 9 63
Output
3
0
2
1
1

Scoring

  • \(30\%\) số test có \(n\) và tổng \(n \leq 1000\), kết quả luôn \(\leq 10000\).
  • \(30\%\) số test có \(n\) và tổng \(n \leq 5 \times 10^4\).
  • \(40\%\) số test có \(n\) và tổng \(n \leq 2 \times 10^5\).

root

Mật mã an toàn

100 điểm

Để tăng cường bảo mật, Thám tử K quyết định rằng các chuỗi nhị phân không được phép có hai số \(1\) nào đứng kề nhau (ví dụ: \(11\) bị cấm). Hãy sử dụng đệ quy để liệt kê tất cả các chuỗi nhị phân có độ dài \(N\) thỏa mãn điều kiện an toàn này.

Input

Một số nguyên dương \(N\) (\(1 \leq N \leq 15\)).

Output

In ra tất cả các chuỗi nhị phân thỏa mãn, mỗi chuỗi trên một dòng, theo thứ tự từ điển tăng dần.

Example

Test 1

Input
1
Output
0
1

Test 2

Input
2
Output
00
01
10

Test 3

Input
3
Output
000
001
010
100
101
Xem thêm