Đặt sỏi (Tin học trẻ A - Vòng Sơ khảo 2021)

Xem PDF



Thời gian:
Python 3 2.0s

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

Trên một đoạn thẳng, đầu tiên người ta đặt hai viên sỏi cách xa nhau. Sau đó lặp đi lặp lại thao tác sau: Xác định trung điểm giữa hai viên sỏi liên tiếp trên đoạn thặng, đặt thêm một viên sỏi vào vị trí đó.

  • Ban đầu chỉ có hai viên sỏi đặt trên một đường thẳng.
  • Lượt đặt thứ nhất (\(N = 1\)) thêm một viên sỏi vào trung điểm của hai viên ban đầu.
  • Ở lượt đặt thứ hai (\(N = 2\)), đã có ba viên sỏi của lượt trước và đặt thêm hai viên sỏi (được đánh số \(2\)) vào vị trí trung điểm của hai đoạn thẳng như trên hình mô tả.

Giả sử luôn có khoảng cách để có thể đặt một viên sỏi vào giữa hai viên sỏi.

Hỏi: Sau lượt đặt thứ \(N\) có tất cả bao nhiêu viên sỏi. Vì kết quả có thể rất lớn nên chỉ cần đưa ra chữ số cuối cùng của đáp án.

Input

  • Một dòng chứa một số tự nhiên \(N\) (\(N \le 10^9\)).

Output

  • Một số duy nhát là chữ số cuối của số lượng sỏi đã đặt.

Example

Test 1
Input
2
Output
5
Note

Khi \(N = 2\) thì số sỏi là \(5\) viên.

Test 2
Input
4
Output
7
Note

Khi \(N = 4\) thì số sỏi là \(17\) viên. Vì vậy đưa ra đáp án là \(7\).


Bình luận