Trò chơi

Xem PDF



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

Quỳnh chơi một trò chơi như sau. Ban đầu chọn ra hai số tự nhiên \(a,b\). Tại mỗi bước, Quỳnh viết số lớn hơn trong hai số \(a,b\) lên bảng, rồi trừ nó đi một lượng bằng với số nhỏ hơn (nếu tại một thời điểm nào đó \(a = b\), Quỳnh lấy một số bất kì trừ vào số còn lại). Quỳnh dừng lại khi một trong hai số bằng \(0\). Hỏi sau khi dừng lại, tổng các số được viết trên bảng là bao nhiêu?

Hãy đưa ra đáp án sau khi chia lấy dư cho \(998244353\)

Input

  • Gồm một dòng duy nhất chứa hai số nguyên dương \(a,b (1\le a,b\le 10^{18})\)

Output

  • Gồm một dòng duy nhất chứa tổng cần tính, theo modulo \(998244353\).

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(a,b \le 10^4\)
  • Subtask \(2\) (\(20\%\) số điểm): \(a,b \le 10^9\)
  • Subtask \(3\) (\(20\%\) số điểm): \(a\) chia hết cho \(b\).
  • Subtask \(4\) (\(30\%\) số điểm): không có ràng buộc gì thêm

Example

Ví dụ số 1

Input
98 12
Output
490
Note

Các số được viết lên bảng là \(98,86,74,62,50,38,26,14,12,10,8,6,4,2\)

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.