Số chẵn

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100


Tổng các chữ số

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Cho trước số nguyên dương ~n~

Yêu cầu: Tìm số nguyên dương ~x~ nhỏ nhất sao cho tổng các chữ số của ~x~ bằng tổng các chữ số của ~n~.

INPUT

Số nguyên dương ~n~ có giá trị không vượt quá ~10^9~

OUTPUT

Giá trị ~x~ tìm được

SAMPLE INPUT

2019

SAMPLE OUTPUT

39

Giải thích: 39 là số nguyên dương nhỏ nhất có tổng các chữ số bằng 12.


demhinh

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100


Khoảng cách nhỏ nhất

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Cho số nguyên dương ~n~ và ~n~ số nguyên dương ~a_1, a_2, ..., a_n~.

Tìm vị trí ~k~ sao cho chênh lệnh giữa tổng từ ~a_1~ đến ~a_k~ và tổng từ ~a_{k+1}~ đến ~a_n~ là nhỏ nhất ~(1 \le k < n)~.

Input

Dòng 1: Số nguyên dương ~n~ ~(n \le 10^5)~

Dòng 2: ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ (~a_i<=10^9~)

Output

Ghi ra 2 số nguyên là chênh lệnh nhỏ nhất và vị trí ~k~. Nếu có nhiều vị trí ~k~ thỏa mãn thì chọn ~k~ nhỏ nhất.

Sample

Input
4
1 2 3 5
Output
1 3

Đếm xâu

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100


Tìm số

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Cho 3 số nguyên dương ~n~, ~m~ và ~p~, có giá trị không vượt quá ~10^9~

Yêu cầu: Hãy tìm số nguyên ~x~ lớn nhất thoả mãn các điều kiện sau:

  • ~x \le n~
  • ~x = k * m + p~, với ~k~ là số nguyên

INPUT

Gồm 3 số nguyên dương ~n~, ~m~ và ~p~

OUTPUT

Số ~x~ thoả mãn đề bài

SAMPLE INPUT

60 5 9

SAMPLE OUTPUT

59

Giải thích: ~59 = 10 * 5 + 9~


Cặp số đặc biệt

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Cho trước số nguyên dương ~n~. Hai số nguyên dương ~x~ và ~y~ gọi là căp số đặc biệt nếu thỏa mãn điều kiện ~x^2~ ~–~ ~y^2~ ~ = n~.

Yêu cầu: Tìm số lượng các cặp số đặc biệt với ~n~ đã cho

INPUT

Số nguyên dương ~n~ (~n \le 10^9~)

OUTPUT

Số lượng các cặp số đặc biệt tìm được

SAMPLE INPUT

3

SAMPLE OUTPUT

1

Giải thích: Có ~1~ cặp số đặc biệt ~x = 2~, ~y = 1~ thỏa mãn ~x^2~ ~–~ ~y^2 = 3~.


Ước chung và bội chung

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Cho hai số nguyên dương ~a~ và ~b~, có giá trị không vượt quá ~10^9~

Yêu cầu: Tìm số cặp số nguyên dương ~(x, y)~ thoả mãn ~gcd(a, b) = gcd(x, y)~ và ~lcm(a, b) = lcm(x, y)~.

INPUT

Hai số nguyên dương ~a~ và ~b~

OUTPUT

Số cặp số nguyên dương ~(x, y)~ thoả mãn đề bài

SAMPLE INPUT

6 8

SAMPLE OUTPUT

4

Giải thích: Có ~4~ cặp ~(x, y)~ thoả mãn đề bài là các cặp: ~(6, 8)~, ~(8, 6)~, ~(2, 24)~, ~(24, 2)~


Tìm số dư

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Cho trước ba số nguyên dương ~k, m~ và ~x~

Yêu cầu: Tìm số dư của phép chia ~x^k~ cho ~m~

INPUT

Ba số nguyên dương ~k, m~ và ~x~, mỗi số không vượt quá ~10^9~

OUTPUT

Số dư tìm được.

SAMPLE INPUT

5 7 4

SAMPLE OUTPUT

2

Giải thích: ~4^5~ khi chia cho ~7~ có số dư là ~2~


Đếm các cặp số

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Cho bốn số nguyên dương ~a, b, c, d~, ~(1 \le a \le b \le 10^9), (4 \le c \le d \le 10^9)~.

Đếm các cặp số nguyên dương ~(x, y)~ sao cho ~x \le y, a \le x \times y \le b, c \le 2 \times (x+y) \le d~.

Input

1 dòng chứa 4 số ~a, b, c, d~.

Output

1 số duy nhất là kết quả bài toán.

Examples

Input
2 10 4 8
Output
3

Khách hàng

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100


Dãy con

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 100

Cho một dãy số gồm ~N~ số nguyên dương ~a_1, a_2, ..., a_N~ có giá trị không vượt quá ~10^6~. Tìm dãy con liên tiếp ngắn nhất có chứa ít nhất hai số nguyên tố.

Dữ liệu:

  • Dòng đầu tiên gồm một số nguyên dương ~N \ (N \le 10^6)~ là số lượng phần tử của dãy số;
  • Dòng thứ hai gồm ~N~ số nguyên dương ~a_1, a_2, ..., a_N~ lần lượt mô tả các phần tử của dãy số.

Kết quả:

Một số nguyên duy nhất là số lượng phần tử của dãy con thoả mãn đề bài. Trường hợp không tồn tại dãy con thoả mãn, in ra ~-1~.

Ví dụ

Input
10
3 4 8 4 5 6 1 7 4 6
Output
4
Giải thích

Chọn dãy con từ vị trí thứ ~5~ đến vị trí thứ ~8~: ~5, 6, 1, 7~.

Ràng buộc

  • Có ~50\%~ số test ứng với ~50\%~ số điểm của bài thoả mãn: ~N \le 10^3; \ a_i \le 10^3~;
  • ~30\%~ số test khác ứng với ~30\%~ số điểm của bài thoả mãn: ~N \le 10^6; \ a_i \le 10^3~;
  • ~20\%~ số test còn lại ứng với ~20\%~ số điểm của bài không có ràng buộc gì thêm.

Đong nước

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 100

Trong phòng thí nghiệm chỉ có đúng ba loại cốc có dung tích là ~5 \ (ml)~, ~3 \ (ml)~ và ~2 \ (ml)~. Hỏi cần ít nhất bao nhiêu lần đong nước để lấy được đúng ~N \ (ml)~.

Dữ liệu:

Một số nguyên dương duy nhất ~N~ ~(2 \le N \le 10^{18})~ là số nước cần đong.

Kết quả:

Một số nguyên dương duy nhất là số lượng lần đong ít nhất thoả mãn yêu cầu đề bài.

Ví dụ

Input
12
Output
3
Giải thích

Đong hai lần bằng cốc ~5 \ (ml)~ và một lần bằng cốc ~2 \ (ml)~.


Input
6
Output
2
Giải thích

Đong hai lần bằng cốc ~3 \ (ml)~.


Chia ba

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Cho hai điểm ~A~, ~B~ trên trục Ox có toạ độ nguyên. Tìm hai điểm ~X~, ~Y~ có toạ độ nguyên trên trục Ox sao cho hai điểm này chia đoạn thằng ~AB~ thành ba phần có độ dài bằng nhau. Nếu không tồn tại hai điểm như trên, in ra ~-1~.

Input

Gồm một dòng duy nhất chứa hai số nguyên ~a~, ~b~ (~1 \le a < b \le 10^9~) lần lượt mô tả toạ độ của điểm ~A~ và toạ độ của điểm ~B~.

Output

Nếu tồn tại hai điểm ~X~, ~Y~ như trên, in ra hai số nguyên ~x~, ~y~ (~x \le y~) lần lượt là toạ độ của hai điểm ~X~, ~Y~ tìm được, ngược lại in ra ~-1~.

Example

Input 1
1 4
Output 1
2 3
Input 2
2 6
Output 2
-1

Số ở giữa

Nộp bài
Time limit: 1.0 / Memory limit: 512M

Point: 100

Cho ~2~ số nguyên ~A~ và ~B~. Tìm số nguyên ~M~ nằm giữa ~A~ và ~B~ sao cho khoảng cách giữa ~A \times M~ và ~B \times M~ là nhỏ nhất. ~M~ phải khác ~A~ và ~B~

Input

  • Gồm 1 dòng duy nhất chứa hai số nguyên ~A~ và ~B~ ~(-10^{9} \leq A \leq B \leq 10^{9})~
  • Dữ liệu đảm bảo ~A \le B-2~

Output

  • Gồm 1 dòng duy nhất chứa số nguyên ~M~ cần tìm.

Example

Sample input 1

1 3

Sample output 1

2

Số đẹp

Nộp bài
Time limit: 1.0 / Memory limit: 1000M

Point: 100


Dãy kí tự

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 100

Cho một robot được lập trình di chuyển trên một hàng ngang gồm các ô vuông. Mỗi ô được đặt tên bằng các kí tự theo thứ tự từ ~'𝐴'~ đến ~'𝑍'~ và được lặp lại vô hạn. Ban đầu robot xuất phát ở ô thứ ~1~ có tên là ~'𝐴'~ và nhảy đến các ô tiếp theo quy luật: lần ~1~ nhảy ~1~ ô, lần ~2~ nhảy ~2~ ô, lần ~3~ nhảy ~3~ ô, ~…~, lần ~𝑁~ nhảy ~𝑁~ ô. Vậy sau ~𝑁~ lần nhảy thì robot đang ở ô nào?

Dữ liệu:

Gồm một số nguyên dương ~N~ là số lần nhảy của robot ~(N \le 10^9)~.

Kết quả:

Một kí tự duy nhất là tên của ô sau ~N~ lần robot nhảy.

Ràng buộc

  • Có ~60\%~ số test ứng với ~60\%~ số điểm của bài thoả mãn: ~𝑁 ≤ 10^3;~
  • ~20\%~ số test khác ứng với ~20\%~ số điểm của bài thoả mãn: ~𝑁 ≤ 10^6;~
  • ~20\%~ số test còn lại ứng với 20% số điểm của bài không có ràng buộc gì thêm.

Ví dụ

Input
1
Output
B

Giải thích: Sau ~1~ lần nhảy, robot ở ô thứ ~2~, có tên là kí tự ~B~.

Input
4
Output
K

Giải thích: Sau ~4~ lần nhảy, robot ở ô thứ ~11~, có tên là kí tự ~K~.

Input
7
Output
C

Giải thích: Sau ~7~ lần nhảy, robot ở ô thứ ~29~, có tên là kí tự ~C~.


Bỏ phiếu

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 100

Chuẩn bị Gala mừng năm mới Tết Tân Sửu 2021 của công ty HiTech, ban giám đốc quyết định có giải thưởng đặc biệt cho thành viên của công ty. Sau khi đưa ra các tiêu chí đánh giá, việc bầu chọn sẽ được thực hiện bằng cách tất cả các thành viên sẽ được bỏ phiếu cho nhau.

Hình thức bỏ phiếu được thực hiện thông qua phiếu bầu chọn online. Danh sách các thành viên của công ty được niêm yết và quy định là số thứ tự từ ~1~ đến ~N~ ~(1≤N≤5000),~ tương ứng với ~N~ ô trên phiếu bầu chọn. Sau khi thực hiện, ban tổ chức thu được các danh sách phiếu tương ứng của các thành viên công ty. Trong mỗi phiếu bầu chọn, giá trị ô ở vị trí tương ứng ghi ~'X'~ là bầu chọn cho người đó, ô ghi ~'0'~ là không bầu chọn (coi các trường hợp bầu chọn không hợp lệ là không bầu chọn).

Yêu cầu: Em hãy giúp ban tổ chức đưa ra danh sách các nhân viên có phiếu bầu chọn cao nhất.

Dữ liệu nhập vào từ file văn bản VOTE.INP:

  • Dòng đầu tiên gồm số một số nguyên dương ~N~ ~(1≤N≤5000)~ là số lượng phiếu bầu chọn.
  • ~N~ dòng tiếp theo mỗi dòng tương ứng là ~N~ giá trị của các phiếu đã bầu chọn.

Các kí tự cách nhau một dấu cách.

Kết quả ghi ra file văn bản VOTE.OUT:

  • Dòng đầu tiên ghi số lượng người được nhiều phiếu nhất và số lượng phiếu.
  • Dòng thứ hai ghi thứ tự tương ứng của những người được cao phiếu nhất đó theo thứ tự tăng dần.

Ví dụ

Input
5
X 0 X 0 X
X 0 0 X X
0 0 X 0 0
0 X 0 X 0
0 0 X X 0
Output
2 3
3 4

Giải thích:

  • Người số ~1~ được ~2~ phiếu bầu chọn.
  • Người số ~2~ được ~1~ phiếu bầu chọn.
  • Người số ~3~ được ~3~ phiếu bầu chọn.
  • Người số ~4~ được ~3~ phiếu bầu chọn.
  • Người số ~5~ được ~2~ phiếu bầu chọn.
  • Người số ~3~ và số ~4~ cùng được số phiếu bầu chọn lớn nhất.

Giới hạn

  • Có ~70\%~ số test tương ứng với số điểm có ~N \le 1000;~
  • ~30\%~ số test còn lại tương ứng với số điểm có ~N \le 5000.~

DI CHUYỂN ROBOT

Nộp bài
Time limit: 1.0 / Memory limit: 512M

Point: 100

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài


Manhattan

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Trên mặt phẳng toạ độ Oxy, bạn nhận được một hình vuông với cạnh song song với trục toạ độ, có góc trái dưới là ~(0, 0)~ và góc phải trên là ~(n, n)~. Hãy đếm xem có bao nhiêu điểm toạ độ nguyên nằm trong hoặc nằm trên biên hình vuông mà có khoảng cách Manhattan đến ~(x_0, y_0)~ đúng bằng ~k~.

Khoảng cách Manhattan giữa hai điểm ~(x, y)~ và ~(u, v)~ được tính bằng ~|x - u| + |y - v|~.

Input

Gồm một dòng duy nhất chứa bốn số nguyên ~n~, ~x_0~, ~y_0~, ~k~ (~1 \le n, k \le 10^{18}~; ~1 \le x_0, y_0 \le n~).

Output

In ra một số nguyên là số điểm toạ độ nguyên nằm trong hoặc nằm trên biên hình vuông mà có khoảng cách Manhattan đến ~(x_0, y_0)~ đúng bằng ~k~.

Scoring

  • Subtask ~1~ (~30\%~ số điểm): ~n \le 10^3~.
  • Subtask ~2~ (~30\%~ số điểm): ~k \le 10^5~.
  • Subtask ~3~ (~40\%~ số điểm): Không có ràng buộc gì thêm.

Example

Input
4 1 1 2
Output
6

Khu dân cư

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 100

Bản đồ thành phố X có dạng lưới ô vuông ~M~ hàng ~N~ cột, các hàng được đánh số từ ~1~ tới ~M~, các cột được đánh số từ ~1~ tới ~N~. Mỗi ô vuông trên bản đồ có thể là khu đất trống hoặc một khu dân cư hoặc một siêu thị.

Mỗi siêu thị chỉ có thể phục vụ các khu dân cư có khoảng cách so với nó không quá ~D~, nghĩa là nếu siêu thị nằm ở ô ~(x, y)~ thì nó có thể phục vụ được tất cả các khu dân cư nằm trong hình vuông có ô trái trên là ~(x - D, y - D)~, ô phải dưới là ~(x + D, y + D)~ (như Hình 1).

Một khu dân cư gọi là "chất lượng cao" nếu được ít nhất ~K~ siêu thị có thể phục vụ nó. Cho biết bản đồ của thành phố X, hãy đếm số lượng khu dân cư "chất lượng cao".

Dữ liệu vào từ file văn bản KHUDANCU.INP:

  • Dòng đầu chứa bốn số nguyên ~M, N, D~ và ~K~ ~(1\le D \le \max(M, N); \ 1\le K\le M \times N)~;
  • ~M~ dòng tiếp theo, mỗi dòng gồm ~N~ ký tự, mỗi ký tự biểu diễn một ô vuông bản đồ. Mỗi ký tự sẽ thuộc một trong ba loại sau:
    • . biểu diễn một khu đất trống;
    • P biểu diễn một khu dân cư;
    • M biểu diễn một siêu thị;

Dữ liệu đảm bảo tồn tại ít nhất một khu dân cư và ít nhất một siêu thị.

Kết quả ghi ra file văn bản KHUDANCU.OUT:

Ghi ra một số duy nhất là số khu dân cư "chất lượng cao".

Ví dụ

Input
5 5 1 2
P....
....P
..PM.
.M...
.....
Output
1
Giải thích

Bản đồ minh hoạ thành phố ~X~ như Hình 2.

Khu dân cư ở ô ~(1, 1)~ không được siêu thị nào phục vụ;

Khu dân cư ở ô ~(2, 5)~ được một siêu thị có thể phục vụ;

Khu dân cư ở ô ~(3, 3)~ được hai siêu thị có thể phục vụ;

Vậy có một khu dân cư "chất lượng cao".

Ràng buộc

  • Có ~40\%~ số test ứng với ~40\%~ số điểm của bài thoả mãn: ~M = 1; \ N, D \le 10^3~;
  • ~20\%~ số test khác ứng với ~20\%~ số điểm của bài thoả mãn: ~M = 1; \ N \le 10^5~;
  • ~20\%~ số test khác ứng với ~20\%~ số điểm của bài thoả mãn: ~2 \le M, N \le 1000;~ số khu dân cư, số siêu thị không vượt quá ~1000~;
  • ~20\%~ số test còn lại ứng với ~20\%~ số điểm của bài thoả mãn: ~2 \le M, N \le 1000~.

Chênh lệch

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 100

An có một xâu ký tự ~S~ có độ dài ~N~, chỉ gồm các chữ cái Latin in thường. An muốn tìm một xâu con liên tiếp không rỗng của xâu ~S~ sao cho chênh lệch giữa số lần ký tự xuất hiện nhiều nhất và số lần ký tự xuất hiện ít nhất ở trong xâu con là lớn nhất. Lưu ý rằng, ký tự xuất hiện ít nhất phải xuất hiện ít nhất một lần trong xâu con.

Dữ liệu vào từ file văn bản CHENHLECH.INP:

  • Dòng đầu tiên chứa số nguyên ~N~ ~(1\le N\le 10^6)~ là độ dài của xâu ~S~;
  • Dòng thứ hai chứa xâu ~S~.

Kết quả ghi ra file văn bản CHENHLECH.OUT:

Một số nguyên duy nhất là chênh lệch lớn nhất của xâu con tìm được.

Ví dụ

Input
6
caabac
Output
2
Giải thích

Có thể chọn xâu con: aaba hoặc caaba hoặc aabac hoặc caabac.


Input
3
ttt
Output
0
Giải thích

Có thể chọn xâu con: ttt hoặc tt hoặc t.

Ràng buộc

  • Có ~40\%~ số test ứng với ~40\%~ số điểm của bài thoả mãn: ~N \le 10^2~;
  • ~30\%~ số test khác ứng với ~30\%~ số điểm của bài thoả mãn: ~N \le 10^5~;
  • ~30\%~ số test còn lại ứng với ~30\%~ số điểm của bài không có ràng buộc gì thêm.