+ محدودیت زمان: ۱ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
----------
علی که در روز پیش توانسته بود یک سیستم برای شبیه سازی لیگ فوتبال طراحی کند، حسابی مغرور شده است و به تواناییهای خود میبالد. حال میخواهد یک سیستم دیگر برای اعتبارسنجی رشتهها پیاده سازی کند، اما به دلیل خستگی زیاد پروژهی قبلی، نمیخواهد سیستمش زیادی پیچیده باشد!
این سیستم در ابتدا یک عدد به عنوان **میزان خوبی** دارد که مقدارش برابر با **صفر** میباشد.
همچنین برای شروع کار، یک رشته متشکل از حروف **کوچک و بزرگ انگلیسی** و کاراکترهای `#` و `!` و `?` و `.` به طول حداکثر ۱۰۰۰ داده میشود. همچنین توجه کنید که رشته شامل فاصله (space) **نمیباشد**. این رشته را **رشتهی مشکوک** مینامیم.
حال عملیاتهایی وجود دارند که بر روی این رشته اعمال میشوند و با آن میتوان میزان اعتبار رشته را تشخیص داد.
# **دستور copy**
```
copy key count
```
در این دستور، `key` یک رشته مشتکل از حروف **کوچک و بزرگ انگلیسی** و کاراکترهای `#` و `!` و `?` و `.` میباشد و `count` یک عدد طبیعی میباشد.
با استفاده از این دستور، شما باید رشتهی `key` را به اندازهی `count` مرتبه به خود بچسبانید (یعنی اگر `key` برابر با `ab` باشد و `count` برابر با ۳ باشد، رشتهی به دست آمده برابر با `ababab` میشود) و سپس اگر رشتهی نهایی، طولش $k$ باشد، باید $k$ حرف اول (سمت چپ) رشتهی مشکوک را حذف کنید و این رشتهی جدید را به ابتدای رشتهی مشکوک بچسبانید.
همچنین تضمین میشود در صورتی که `key` را به اندازهی `count` مرتبه به خودش بچسبانیم، طولش کمتر مساوی طول رشتهی مشکوک باشد.
برای مثال اگر رشتهی مشکوک برابر با `aaabbbccc` باشد و دستور زیر داده شود:
```
copy zx 2
```
رشتهی مشکوک برابر با `zxzxbbccc` میشود.
# **دستور compare**
```
compare key
```
در این دستور، `key` یک رشته مشتکل از حروف **کوچک و بزرگ انگلیسی** و کاراکترهای `#` و `!` و `?` و `.` میباشد.
شما باید رشتهی مشکوک را با رشتهی `key` مقایسه کنید و در صورتی که این دو رشته با یکدیگر برابر باشند، **میزان خوبی** به اندازهی **یک واحد** افزایش پیدا میکند و در غیر اینصورت تغییری نمیکند.
# **دستور substr**
```
substr key count
```
در این دستور، `key` یک رشته مشتکل از حروف **کوچک و بزرگ انگلیسی** و کاراکترهای `#` و `!` و `?` و `.` میباشد و `count` یک عدد طبیعی میباشد.
در صورتی که رشتهی `key` **دقیقا** `count` مرتبه به عنوان زیررشته در رشتهی مشکوک ظاهر شده باشد، **میزان خوبی** به اندازهی **یک واحد** افزایش پیدا میکند و در غیر اینصورت تغییری نمیکند.
# **دستور attach**
```
attach key count str
```
در این دستور، `key` و `str` یک رشته مشتکل از حروف **کوچک و بزرگ انگلیسی** و کاراکترهای `#` و `!` و `?` و `.` میباشند و `count` یک عدد طبیعی میباشد.
شما باید رشتهی `str` را به انتهای رشتهی `key` بچسبانید و در صورتی که رشتهی بدست آمده **دقیقا** `count` مرتبه به عنوان زیررشته در رشتهی مشکوک ظاهر شده باشد، **میزان خوبی** به اندازهی **یک واحد** افزایش پیدا میکند و در غیر اینصورت تغییری نمیکند.
برای مثال اگر رشتهی مشکوک برابر با `abc` باشد و دستور زیر داده شود، یک واحد به میزان خوبی افزوده میشود:
```
attach a 1 b
```
# **دستور length**
```
length count
```
در این دستور `count` یک عدد طبیعی میباشد. در صورتی که طول رشتهی مشکوک **دقیقا** برابر با `count` باشد، **میزان خوبی** به اندازهی **یک واحد** افزایش پیدا میکند و در غیر اینصورت تغییری نمیکند.
# **انتهای برنامه**
همچنین هنگامی که تمامی دستورها داده شوند، در انتها یک دستور به صورت `Is it right or not?` داده میشود که از شما میپرسد آیا رشتهی مشکوک دارای اعتبار میباشد یا خیر.
در صورتی که **میزان خوبی** بیشتر و یا مساوی **نصف** تعداد دستورات داده شده باشد (دستورات `copy` و `compare` و `substr` و `attach` و `length`)، رشته دارای اعتبار است و باید `Eyval` را چاپ کنید و در غیر اینصورت دارای اعتبار نمیباشد و باید `HeifShod` را چاپ کنید.
# ورودی
در خط اول ورودی، رشتهی مشکوک داده میشود که متشکل از حروف **کوچک و بزرگ انگلیسی** و کاراکترهای `#` و `!` و `?` و `.` میباشد و طول آن حداکثر ۱۰۰۰ است.
در خطوط بعدی، در هر خط یکی از دستوراتی که در صورت سوال آمدهاند داده میشود. تعداد این دستورها کمتر از ۱۰۰۰ میباشد.
در خط نهایی، یک عبارت با عنوان `Is it right or not?` میآید که توضیح آن در صورت سوال داده شده است.
# خروجی
در تنها خط خروجی، در صورتی که رشتهی مشکوک دارای اعتبار باشد باید عبارت `Eyval` و در غیر اینصورت عبارت `HeifShod` را چاپ کنید.
# مثال
## ورودی نمونه
```
eyval!inTamrinkheiliSadast.Hooorrraaaaa
copy hi 3
compare hihihiinTamrinkheiliSadast.Hooorrraaaaa
substr aaa 3
attach hi 2 in
length 39
Is it right or not?
```
## خروجی نمونه
```
Eyval
```
در این مثال، فقط در هنگام اجرای دستور `attach` میزان خوبی اضافه نمیشود.
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.