---
# System prepended metadata

title: Cubill Thích Bánh Trung Thu

---

Nguồn: Tự nghĩ.
Rating : 1000.

**Đề Bài**:
Nhân dịp tết trung thu sắp đến gần mẹ của Cubill quyết định mua cho cậu vô hạn chiếc bánh trung thu với độ ngon là một số nguyên dương và hơn kém nhau một đơn vị. Mẹ cậu đã xếp ngăn nắp trên bàn từ trái qua phải. Như vậy độ ngon của  những chiếc bánh này sẽ tạo thành một dãy số "1, 2, 3, 4, 5, ....". 

Cubill là một người rất thích số **x** nên cậu sẽ ăn một đoạn liên tiếp những chiếc bánh này sao cho tổng độ ngon của những chiếc bánh đó đúng bằng **x**.

**Input**:
* Dòng đầu tiên là số $x$ - số mà Cubill yêu thích ($1\le x \le 10^{15}$)

**Output**:
* In ra một số nguyên duy nhất là số cách Cubill chọn một dãy những chiếc bánh.

**Scoring:**

| Subtask  | Điểm     | Giới Hạn |
| -------- | -------- | -------- |
| 1    | 30     | $x \le 10^6$ |
| 2     | 70     | Không có ràng buộc gì thêm     |

**Lời Giải:**
Subtask 1:
Ta lưu những tổng từ 1 đến i ($i \le x$) vào map, sau đó ta sẽ duyệt từ 1 đến x với mỗi map i ta kiểm tra xem cái map i+x có tồn tại hay không.
Đpt: (x log(x)).
Subtask 2:
Ta biết tổng của một đoạn l, r là (r+l).(r-l+1)/2 vì thế 2x=(r+l).(r-l+1). Vì vậy ta duyệt các ước i của 2x rồi kiểm tra xem có tồn tại hai cặp số l, r thỏa mãn không. Do (r+l) > r-l+1 nên ta chỉ duyệt các ước i mà $i \le \sqrt{2x}$, vậy với mỗi ước i như vậy ta có r+l=x/i,  r-l+1=i.
Đpt: ($\sqrt{2x}$).

**Code:** https://ideone.com/mjhfAQ

