THCS Ôn Chuyên Contest 03

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho số nguyên dương ~n~. Đếm số lượng chữ số của ~n~.

Input

Nhập số nguyên dương ~n~ (~1 \leq n \leq 10^{18}~).

Output

Số lượng chữ số của số ~n~.

Sample Test

Input
123
Output
3
Gợi ý:

Loại bỏ dần các chữ số của số ~n~ và đếm số lần lặp.

  • Bỏ đi chữ số cuối của số ~n~ bằng phép chia nguyên cho 10 (~n = n/10~).
  • Lặp lại cho đến khi ~n = 0~.
  • Số lần lặp chính là số lượng số chữ số của ~n~.

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho số nguyên dương ~n~. Tìm tổng các chữ số của ~n~.

Input

Nhập số nguyên dương ~n~ (~1 \leq n \leq 10^{18}~).

Output

Tổng các chữ số của ~n~.

Sample Test

Input
123
Output
6
Giải thích
1 + 2 + 3 = 6
Gợi ý:
  • Cách 1: Đổi kiểu số sang dạng chuỗi, sau đó xét từng ký tự của chuỗi; đổi ký tự đó sang số nguyên (dùng bảng mã ASCII) và cộng vào tổng.
  • Cách 2: Tương tự bài trước, tách từng chữ số của số ~n~ bằng cách:
    • Dùng phép chia lấy dư cho 10 (~n % 10~) để lấy ra chữ số cuối cùng của số ~n~, cộng vào tổng (~sum += n % 10~).
    • Bỏ đi chữ số cuối của số ~n~ bằng phép chia nguyên cho 10 (~n = n/10~).
    • Lặp lại cho đến khi ~n = 0~.

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho số nguyên dương ~n~. Hãy tính trung bình cộng các chữ số của ~n~.

Input

Nhập số nguyên dương ~n~ (~1 \leq n \leq 10^{18}~).

Output

In ra trung bình cộng các chữ số của ~n~, kết quả làm tròn đến chữ số thập phân thứ 2.

Sample Test

Input 1
346
Output 1
4.33
Input 2
123
Output 2
2.00

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho số nguyên dương ~n~. Tính tổng các ước của số ~n~.

Input

Nhập số nguyên dương ~n~ (~1 \leq n \leq 10^6~).

Output

In ra tổng các ước của số ~n~.

Sample Test

Input 1
6
Output 1
12
Input 2
7
Output 2
8

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Số đặc biệt là số chia hết cho tổng các chữ số của nó.

Yêu cầu

Cho số nguyên dương ~n~. Kiểm tra xem ~n~ có phải là số đặc biệt không.

Input

Nhập số nguyên dương ~n~ (~0 < n \leq 10^{18}~).

Output

In ra "YES" nếu ~n~ là số đặc biệt, ngược lại in ra "NO".

Sample Test

Input 1
12
Output 1
YES
Input 2
13
Output 2
NO

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho số nguyên dương ~n~. Tìm cách phân tích số ~n~ thành tích hai số nguyên dương ~a, b~ sao cho tổng của chúng là nhỏ nhất.

Input

Nhập số nguyên dương ~n~ (~1 \leq n \leq 10^9~).

Output

In ra 2 số nguyên dương ~a~ và ~b~ thỏa mãn đề bài (~a < b~), cách nhau bởi một dấu cách.

Sample Test

Input 1
6
Output 1
2 3
Input 2
8
Output 2
2 4

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 500M

Điểm: 10

Cho dãy số nguyên dương: ~a_1, a_2, ..., a_M~. Đặt ~N = a_1 \times a_2 \times ... \times a_M~. Hãy tính số lượng ước của ~N~.

Ví dụ: ~N = 2 \times 3 = 6~. Số lượng ước của ~N~ là ~4~ tức là 6 có ~4~ ước: ~1, 2, 3, 6~.

Input

Dòng đầu chứa số nguyên ~M~

Dòng thứ hai là dãy số nguyên dương ~M~ phần tử: ~a_1, a_2, ..., a_M~ (~1 \leq a_i \leq 10^6~)

Output

Một số nguyên duy nhất là kết quả tính được. Kết quả của bài toán chỉ cần in ra phần dư khi chia cho ~10^9 + 7~.

Sample Test

Input
2
2 3
Output
4

Ràng buộc

  • Có ~60\%~ số test ứng với ~60\%~ số điểm của bài có ~N \leq 10^6~;
  • Có ~20\%~ số test ứng với ~20\%~ số điểm của bài có ~M \leq 1000~;
  • Có ~20\%~ số test khác ứng với ~20\%~ số điểm còn lại của bài.

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Ước số chung đặc biệt của hai số nguyên dương ~a~ và ~b~ là số nguyên dương ~d~ sao cho ~a~ chia hết cho ~d~, ~b~ chia hết cho ~d~, và tổng các chữ số của ~d~ là lớn nhất. Hãy tìm ước số chung đặc biệt của hai số ~a~ và ~b~.

Input

Một dòng duy nhất chứa hai số nguyên ~a, b~ (~1 < a, b < 10^9~).

Output

Trong một dòng duy nhất ghi ra tổng các chữ số của ước số chung đặc biệt của hai số ~a~ và ~b~.

Sample Test

Input
220 440
Output
10
Giải thích

Ước chung của 220 và 440 là ~1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110, 220~. Trong số các ước này, số ~55~ có tổng các chữ số lớn nhất. Do đó, ước chung đặc biệt của 220 và 440 là ~55~. Kết quả in ra là tổng các chữ số của số ~55~, tức là bằng ~10~.