#5350. Throne (Mã bài: THRONE)

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Có một vòng tròn gồm N chiếc ghế, được đánh số từ 0 đến N-1 . Bạn đang ngồi ở ghế S . Bạn thực hiện các bước di chuyển, mỗi lần di chuyển bạn sẽ đi qua K chiếc ghế theo chiều kim đồng hồ. Tức là, nếu bạn đang ở ghế x , bước tiếp theo bạn sẽ đến ghế (x+K) \pmod N . Bạn muốn đến được ngai vàng ở ghế số 0 . Hãy tìm số lần di chuyển tối thiểu cần thực hiện. Nếu không bao giờ đến được ghế 0 , hãy báo cáo là không thể.

Dữ liệu:

  • Dòng đầu tiên chứa số lượng bộ test T .
  • T dòng tiếp theo, mỗi dòng chứa ba số nguyên N, S, K .

Kết quả: Với mỗi bộ test, in ra số lần di chuyển tối thiểu. Nếu không thể, in ra -1.

Ví dụ:

Dữ liệu:

3
10 4 3
10 3 4
4 2 2

Kết quả:

2
-1
1

Giải thích: Bài toán quy về giải phương trình đồng dư tuyến tính S + x \cdot K \equiv 0 \pmod N , hay x \cdot K \equiv -S \pmod N .

Giới hạn:

  • 1 \le T \le 100
  • 2 \le N \le 10^9
  • 0 \le S < N
  • 1 \le K \le 10^9