+ محدودیت زمان: ۱ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
----------
در این بخش از پروژه، فرض کنید یک بازیکن داریم که تنهایی منچ بازی میکند. بهطور دقیقتر، این بازیکن رنگ «قرمز» را انتخاب میکند؛ ۴ مهره قرمز، در ۴ خانهی گوشه بالا سمت راست، قرار میدهد. این چهار مهره را با رشتههای `R1`، `R2`، `R3` و `R4` نشان میدهیم.
این بازیکن $q$ درخواست دارد. هر درخواست در یک سطر ورودی داده میشود.
## پرتاب تاس
این درخواست یعنی بازیکن قرمز میخواهد تاس بیاندازد.
```
dice
```
این درخواست یعنی بازیکن قرمز، میخواهد تاس بیاندازد.
اگر عدد ظاهر شده از پرتابهای قبلی وجود دارد که هنوز حرکت متناسبی برای آن انجام نشده، پیام `invalid dice rolling` را در یک سطر چاپ کنید.
در غیر این صورت با استفاده از تابع `get_dice` که در بخش قبلی پیادهسازی شده، یک عدد دریافت کنید. اگر عدد ۶ ظاهر شد، این عدد را جزو اعداد ظاهر شده در نظر بگیرید و مجدداً تاس بیاندازید. این کار را آنقدر تکرار میکنیم که دیگر ۶ ظاهر نشود.
تضمین میشود که فرآیند پرتاب تاس، پایان پذیر باشد. از شما میخواهیم تمام اعداد ظاهر شده را در یک سطر، با یک فاصله از هم، چاپ کنید.
**برای بهتر متوجه شدن این درخواست، مثالهای نمونه را بررسی کنید.**
## ورود مهره
این درخواست یعنی بازیکن قرمز، میخواهد مهرهی $m$ را وارد بازی کند.
```
enter <m>
```
تضمین میشود `m` یکی از مقدارهای `R1`، `R2`، `R3` یا `R4` باشد.
+ اگر مهرهی $m$، در این لحظه در جریان بازی باشد؛ پیام `that is in` را در یک سطر چاپ کنید.
+ اگر در پرتابهای قبلی تاس، عدد ۶ ظاهر نشده باشد تا آن را برای ورود مصرف کنیم، پیام `you need six` را در یک سطر چاپ کنید.
+ اگر خانهی اولیه برای شروع با مهرهی قرمز دیگری اشغال شده باشد، پیام `busy starting cell` را در یک سطر چاپ کنید.
اگر چند مورد از شرایط بالا برقرار بود، موردی که زودتر بیان شد را در نظر بگیرید و پیام آن را چاپ کنید.
در صورتی که هیچکدام از حالتهای بالا اتفاق نیافتد، یکی از ۶های ظاهر شده در پرتاب تاس را حذف کنید و مهرهی $m$ را وارد خانه اولیه قرمز (خانه ۱) کنید و شمارهی خانهای که مهره وارد آن شده را در یک سطر چاپ کنید.
**برای بهتر متوجه شدن این درخواست، مثالهای نمونه را بررسی کنید.**
## حرکت مهره
این درخواست یعنی بازیکن قرمز میخواهد مهرههای $m$ خود را $s$ واحد حرکت دهد.
```
move <m> <s>
```
تضمین میشود `m` یکی از مقدارهای `R1`، `R2`، `R3` یا `R4` باشد. همجنین تضمین میشود `s` یکی از اعداد $1$ تا $6$ باشد.
+ این درخواست زمانی معتبر است که عدد $s$ در یکی از پرتابهای قبلی تاس، ظاهر شده باشد ولی از آن استفاده نشده باشد. اگر این درخواست معتبر نبود، پیام `invalid move` را در یک سطر چاپ کنید.
+ اگر مهرهی $m$ در چهار خانهی گوشه جدول است، پیام `it is not in` را در یک سطر چاپ کنید.
+ اگر $s$ خانه بعدی آن وجود نداشته باشد. (به خانههای پایانی نزدیک باشیم.) پیام `you can not move` را در یک سطر چاپ کنید.
+ اگر خانهی مقصد، توسط مهرهی قرمز دیگری اشغال شده است، پیام `destination is busy` را در یک سطر چاپ کنید.
اگر چند مورد از شرایط بالا برقرار بود، موردی که زودتر بیان شد را در نظر بگیرید و پیام آن را چاپ کنید.
در صورتی که هیچکدام از حالتهای بالا اتفاق نیافتد، یکی از $s$های ظاهر شده در پرتاب تاس را حذف کنید و مهرهی $m$ را $s$ واحد به جلو ببرید و شمارهی خانهای که مهره وارد آن شده را چاپ کنید.
**برای بهتر متوجه شدن این درخواست، مثالهای نمونه را بررسی کنید.**
## رها کردن
این درخواست یعنی بازیکن میخواهد از همهی اعداد ظاهر شده توسط تاس صرف نظر کند و هیچ حرکتی بهازای این اعداد انجام ندهد.
```
giveup
```
این درخواست باید باعث لغو شدن همهی پرتابهای تاسی شود که تا کنون انجام شده است.
**برای بهتر متوجه شدن این درخواست، مثالهای نمونه را بررسی کنید.**
# ورودی
در سطر اول ورودی، بهترتیب سه عدد اول $A$، $B$ و $m$ داده میشود.
$$2 \leq A, B < m \leq 997$$
در سطر دوم ورودی، عدد صحیح و مثبت $q$ داده میشود.
$$1 \leq q \leq 100 \, 000$$
در $q$ سطر بعدی، در هر سطر، یکی از چهار درخواست که توضیح آن در متن سوال آمده میآید.
# خروجی
خروجی متناسب با هر درخواست را در یک سطر جداگانه چاپ کنید.
# مثال
## ورودی نمونه ۱
```
37 71 101
14
dice
enter R2
move R2 1
dice
move R2 3
dice
move R2 5
dice
move R2 4
dice
giveup
move R2 3
dice
move R2 4
```
## خروجی نمونه ۱
```
6 1
1
2
3
5
5
10
4
14
3
invalid move
4
18
```
## ورودی نمونه ۲
```
479 139 911
8
move R3 2
enter R2
dice
dice
enter R4
giveup
enter R4
dice
```
## خروجی نمونه ۲
```
invalid move
you need six
2
invalid dice rolling
you need six
you need six
2
```
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.