Nội dung Bài tập
Mã:
OLP16.Lan5.C
Tên:
Annabelle
Dạng thi:
oi
Thang điểm:
10 điểm
Giới hạn thời gian:
1 giây
Giới hạn bộ nhớ:
64 MB
Được tạo bởi:
dthphuong
Annabelle là một con búp bê ma quái bị phù phép. Nó có một sức mạnh thật sự đáng sợ, khi nó vào một ngôi nhà nào đó thì có nghĩa ngôi nhà đó đã bị ám và từng thành viên trong gia đình sẽ gặp nguy hiểm, từng người, từng người một. . . . . Không một ai có thể dừng Annabelle lại được cả :( Bạn chỉ có thể dừng nó lại khi bạn biết được bí quyết phong ấn nó.

Cho đến một ngày, có một nhà Ngoại cảm chuyên có khả năng phong ấn những thứ ma quái  đã xuất hiện. Tuy nhiên, Anna là ngoại lệ, dù đã dùng nhiều cách khác nhau nhưng bà vẫn không tài nào phong ấn nó được. Cho đến 1 ngày, bà nhận ra rằng thứ tự những người bị nó hãm hại tuân theo 1 quy luật: 
Mỗi lần chuẩn bị "hành động", Anna khắc vào tấm gỗ của nó một con số, đây là con số mà nạn nhân của nó yêu thích và những con số này cứ tăng dần (bắt đầu là 1). Khi 2 số a, b nó khắc vào tấm gỗ thỏa: 
    • b + a · a ≡ 0 (mod k)
    • a + b · b ≡ 0 (mod k) (với k là một số cho trước)
thì nó sẽ nối chúng lại với nhau. Anna chỉ dừng lại khi các số nó viết được nối với nhau thành 1 chu trình. 

Nhiệm vụ của bạn là giúp nhà Ngoại cảm, bạn hãy viết một chương trình để tìm xem người tạo thành chu trình yêu thích số mấy nhé ! Nhanh lên nào, không còn thời gian đâu. 

Input

Số nguyên k (1 <=  k <=  100000).

Output

Số yêu thích của người sẽ tạo thành chu trình đầu tiên xuất hiện. Nếu không tồn tại thì xuất -1.

Ví dụ

inputoutput
2
5

Giải thích

Trong ví dụ trên, sau khi những người có số yêu thích từ 1 đến 4 bị hãm hại thì đồ thị của chúng ta sẽ có các cạnh (1, 3) và (2, 4). Sau đó, Anna sẽ tìm đến người yêu thích số 5 và sau khi hãm hại người này xong, nó sẽ dừng lại. Vì đã tạo thành chu trình ( 1 - 5 - 3 - 1)

    Quảng cáo
       Ngôn ngữ : 

       Theme : 
Mời bạn soạn code



		



      Ai có thể xem bài này : 

Thông tin



Phần thảo luận