Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

ONE4EVER - Forever Alone Person

Dù thông minh, đẹp trai, học giỏi nhưng vẫn không thoát khỏi kiếp FA vì chỉ có 8cm và lười tắm, Khánh 3508 lại buồn bã trở về vnoi code lại từ đầu. Trong một ngày chán như con gián, Khánh 3508 nhổ trộm bông hướng dương nhà hàng xóm và ngồi … đếm cánh hoa. Mỗi lần một cánh hoa rụng xuống là câu nói “Tắm”, “Không tắm” lại vang lên. Đã ba năm trôi qua Khánh 3508 vẫn chỉ ngồi đếm lá và chưa tắm rồi đột nhiên anh ta đứng lên và chạy về máy tính : “Đúng rồi số ngẫu nhiên!”. Hóa ra Khánh 3508 đã nghĩ ra cách làm mới mà không phải nhổ trộm hoa + ngồi đếm số cánh hoa. Chúng ta biết rằng số ngẫu nhiên được sinh ra bởi bộ ba số a,b,m theo quy tắc:

+Số thứ nhất là x1=b mod m

+Số thứ k là (a*xk-1+b) mod m với k>1

Khánh 3508 sẽ lấy số xk để so với lịch xem nó có phải ngày đẹp hay không để quyết định tắm rửa. Tuy nhiên do thích chơi trội Khánh 3508 đã để a,b,m,k rất lớn khiến máy tính bị đơ. Bạn hãy giúp Khánh tính xk thật nhanh để cậu ta có thể tắm.

Input

  • Dòng 1: Số nguyên T (1≤T≤10) là số lượng test
  • T dòng tiếp theo, mỗi dòng gồm 4 số nguyên a,b,m,k (1≤a,b,m,k≤1015)

Output

  • Gồm T dòng, mỗi dòng in ra số xk tương ứng.

Example

Input:
3
1 1 1 1
2 5 100 6
1 8 777 6 Output: 0
15
48
Hình ảnh minh họa:
Khánh 3508 

Được gửi lên bởi:Phồng Tôm
Ngày:2013-07-10
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ASM64 GOSU PERL6 PYPY RUST SED

hide comments
2022-04-01 16:33:54
sao nhân ấn độ mà được có 80 z tròi :')
2021-05-27 18:02:47
Tham khảo: https://vnspoj.github.io/problems/ONE4EVER
2021-03-25 11:08:30
(x*y)%m nếu mod bình thường sẽ overflow --> 60 - 70đ
Do đó ta chia nhỏ ra : bằng cách chia nhỏ ra : (x*y)%m = x%m + x%m + x%m + ...... + x%m ( y lần ) [ Ta dùng đệ quy chia dần thằng y cho 2 như nhân ấn độ ]
[ Cường - HK17 - CQT]

Last edit: 2021-03-25 13:32:49
2019-09-15 11:52:10
xk=b*(a^0+a^1+...+a^(k-1))=b*(a^k-1)/(a-1)
ct này sai j vậy mn ???
2019-09-14 16:13:32
do ngu bạn ạ
duonght_pro_xinhgainhathemattroi_:)
2019-09-14 06:03:00
60 là do j vậy mn ơi
2019-09-14 05:58:23
nhân ma trận AC ez game ez life
2019-09-14 05:20:26
trau cx AC
2019-08-07 08:20:06
Code C++ ko cần cài số lớn vẫn AC cho bạn nào cần mk là shakert1k28 :)))
http://ideone.com/AbLmeA
2018-11-26 14:20:10
vl viết tắt tên bài : FAP
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.