+ محدودیت زمان: ۱ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
----------
یکی از ابزارهایی که برای پیادهسازی بازی منچ به آن نیاز داریم، «تاس» است. به همین منظور، میخواهیم تابع `get_dice` را پیادهسازی کنیم. این تابع هیچ آرگومانی ورودی نمیگیرد. این تابع بعد از هر بار فرخوانی، مقدار عددی که روی تاس، بعد از انداختن ظاهر میشود را نشان میدهد.
برای رسیدن به این هدف، با داشتن سه عدد اول ($prime$) $A$، $B$ و $m$ دنباله تصادفی $X$ را به این صورت میسازیم:
$$ X_k = \left\{
\begin{array}{lr}
B & k = 1 \\
(A.X_{k-1} + B) \mod m & k > 1 \\
\end{array}
\right. $$
حال از روی دنبالهی $X$ عدد ظاهر شده در پرتاب $k$ام را که با $dice_k$ نشان میدهیم؛ از این رابطه بدست میآید:
$$dice_k = (X_k \mod 6) + 1$$
از شما میخواهیم تابع `get_dice` را طوری پیادهسازی کنید که بعد از $k$ بار صدا کردن مقدار $dice_k$ را چاپ کند. یعنی در اولین فراخوانی `get_dice`، مقدار $dice_1$، در دومین فراخوانی `get_dice`، مقدار $dice_2$ و... برگردانده شود.
# ورودی
در سطر اول ورودی، بهترتیب سه عدد اول $A$، $B$ و $m$ داده میشود.
$$2 \leq A, B < m \leq 997$$
در سطر دوم ورودی، عدد صحیح و مثبت $n$ داده میشود.
$$1 \leq n \leq 100 \, 000$$
# خروجی
خروجی $n$ سطر دارد، عدد نوشته شده در سطر $k$ام مقدار تابع `get_dice` بعد از $k$ بار فرخوانی است.
# مثال
## ورودی نمونه ۱
```
37 71 101
10
```
## خروجی نمونه ۱
```
6
1
3
5
4
3
4
4
3
4
```
## ورودی نمونه ۲
```
479 139 911
8
```
## خروجی نمونه ۲
```
2
2
1
2
5
4
6
4
```
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.