2 3 GO !!

View as PDF



Time limit:
Python 2.0s
Memory limit:
Python 64M

Problem types
Allowed languages
C, C#, C++, Clang, Clang++, Cobol, D, Groovy, Haskell, JS, Lua, Node JS, ObjectiveC, OCaml, Output, Pascal, PHP, Prolog, Python, Ruby, Rust, Scala, Swift
Points: 120 Time limit: 1.0s Memory limit: 256M Input: stdin Output: stdout

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

Comments

There are no comments at the moment.