Time limit: 0.5s / Memory limit: 64M

Points: 100

Tài là một học sinh giỏi lớp 5. Trong cuộc thi tuyển chọn học sinh giỏi toán cho trường, thầy giáo đã cho Tài một bài toán rất khó đối với học sinh lớp 5 là tính tổng của dãy các số nguyên 1 + 2 + 3 + ... + n. Vì trong lúc thi quá căng thẳng nên Tài đã quên công thức để tính tổng dãy số này nên Tài đã cộng từng số một lại với nhau. Tuy nhiên có quá nhiều số nên Tài đã lỡ quên không cộng một số x. Cho biết số nguyên dương n và tổng s mà Tài đã cộng. Bạn có thể giúp Tài xác định số x còn thiếu hay không?

Input

Một dòng duy nhất chứa một số nguyên n và s

subtask 1: ~a ≤ 10^4, s  ≤ 10^9~

subtask 2: ~a ≤ 10^9, s  ≤ 10^{18}~

Output

Một dòng duy nhất là số x cần tìm.

Examples

Input

4 7 

Output

3

*Note: *Tài đã cộng các số 1 + 2 + 4 = 7 nên còn thiếu số 3.


Time limit: 1.0s / Memory limit: 64M

Points: 100

Gọi ~2~ số ~x~ và ~y~ là cặp số hoàn hảo khi và chỉ khi ít nhất ~1~ trong ~2~ số ~x~ hoặc ~y~ lớn hơn hoặc bằng ~m~.

Cho ~2~ số ~x~ và ~y~. Và giờ bạn có thể thay thế ~1~ trong ~2~ số này bằng ~{(x + y)}~. Hãy xác định số lần thực hiện ít nhất để ~2~ số ~x~ và ~y~ trở thành cặp số hoàn hảo hoặc xác định rằng điều đó là không thể.

Input

~1~ dòng duy nhất chứa ~3~ số nguyên ~x~, ~y~ và ~m~.

Output

Số lần thực hiện ít nhất để ~2~ số ~x~, ~y~ là cặp số hoàn hảo, hoặc xuất ra ~-1~ nếu điều đó là không thể.

Simple Input 1
1 2 5
Simple Output 1
2
Simple Input 1
-1 4 15
Simple Output 1
4
Simple Input 1
0 -1 5
Simple Output 1
-1
Cách tính điểm:
  • Subtest 1: (~50\%~ số điểm) Với ~m \le 10^6~.
  • Subtest 2: (~50\%~ số điểm) Với ~m \le 10^{18}~.

Time limit: 0.5s / Memory limit: 64M

Points: 100

Cho hai số a và b. Trong một bước bạn có thể tăng a lên 1 (gán a = a + 1).

Nhiệm vụ của bạn là xác định số bước ít nhất để a chia hết cho b.

Input

Một dòng duy nhất chứa một số nguyên a và b.

Subtask 1 (50% điểm): ~1 ≤ a, b ≤ 10^6~

Subtask 2 (50% điểm): ~1 ≤ a, b ≤ 10^{18}~

Output

Một dòng duy nhất là số bước cần thực hiện để a chia hết cho b.

*Example 1 *

Input

10 5 

Output

0 

*Example 2 *

Input

4 7 

Output

3

*Example 3 *

Input

10 4 

Output

2 

*Example 4 *

Input

24 23  

Output

22 

Time limit: 1.0s / Memory limit: 64M

Points: 100

Cho một ma trận các ô vuông. Ô ~(i, j )~ được định nghĩa là ô vuông nằm trên điểm giao của dòng ~i~ và cột ~j~.

Ban đầu cột đầu tiên của ma trận ô vuông sẽ có giá trị lần lượt là ~1, 2, 3, ...~ Từ cột thứ 2 trở đi thì ô ~(i, j)~ bất kỳ sẽ có giá trị là: ~ (i , j - 1) + (i, 1)~. Ví dụ ~6~ dòng và ~6~ cột đầu của ma trận ô vuông :

Một con rô bốt xuất phát tại ô ~(1, 1)~. Trong mỗi bước robot có thể đi đến một trong bốn ô kề cạnh với ô mà rô bốt đang đứng. Cụ thể, nếu rô bốt đang ở ô ~(i, j)~ thì nó có thể đi đến một trong bốn ô sau: ~(i - 1, j)~, ~(i + 1, j)~, ~(i, j - 1)~, ~(i, j + 1)~. Chú ý, rô bốt không thể đi ra ngoài khỏi bảng ô vuông.

Hãy cho biết số bước đi ít nhất để rô bốt đi đến ô vuông bất kỳ có giá trị là số nguyên ~N~ với ma trận có kích thước là vô hạn.

Input

Đầu vào chứa một số nguyên dương duy nhất ~N~ ~(1 \leq N \leq 100)~.

Output

In ra một số nguyên duy nhất là số bước đi ít nhất cần tìm.

Simple Input 1
6
Simple Output 1
3
Simple Input 2
12
Simple Output 2
5