2 3 GO !!

Xem PDF



Thời gian:
Python 2.0s
Bộ nhớ:
Python 64M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Clang, Clang++, Cobol, D, Groovy, Haskell, JS, Lua, Node JS, ObjectiveC, OCaml, Output, Pascal, PHP, Prolog, Python, Ruby, Rust, Scala, Swift
Điểm: 120 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Trên trục \(\text{Ox}\), bạn đang đứng ở vị trí \(0\).

Ở mỗi bước, bạn có thể tiến lên hoặc lùi xuống \(2\) bước hoặc \(3\) bước.

Ví dụ: Hiện tại bạn đang đứng ở vị trí \(x\), vậy thì ở bước tiếp theo bạn có thể đến \(1\) trong \(4\) vị trí: \((x+2),(x-2),(x+3),(x-3)\).

Yêu cầu:
Mục tiêu của bạn là đến được vị trí \(n\). Tìm số lượng bước ít nhất để thực hiện điều đó.

Input

  • Dòng đầu: \(t\) - số test \((1 \le t \le 5\times 10^5)\)
  • \(t\) dòng sau: mỗi dòng chứa một số \(n\) \((n \in \mathbb{N}^*, n \le 10^{18})\)

Output

  • Ứng với mỗi test, in ra đáp án cần tìm.

Example

Test 1

Input
4
1
3
4
12
Output
2
1
2
4

Bình luận