مسئله‌ی امنیتی


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

چرزه و پشمک اخیرا کوله‌های خود را بسته‌اند و تصمیم گرفته‌اند که دنیا را در ۷۹ روز طی کنند. اما آن‌ها در طی جهان‌گردی‌شان با مسائلی روبه‌رو می‌شوند و از شما می‌خواهند که آن‌ها را برایشان حل کنید.

توضیح تصویر

هنگام ورود به آمریکا، ماموران سیا آن‌ها را به اتهام جاسوسی دستگیر کردند و به زندان‌های دور بردند. در یکی از روزها (یا شاید شب ها....) که چرزه و پشمک داشتند می‌پوسیدند، خبری مهم به آن‌ها رسید و آن این بود که سازمان سیا، زندانیان سیاسی و امنیتی‌ای را که برنامه‌ی رمزنگاری PES (!!) را پیاده‌سازی کنند، آزاد می‌کند. پشمک و چرزه که قاعدتا دوست ندارند که بپوسند و بمیرند، سعی کردند این رمزنگاری را پیاده‌سازی کنند اما چون هیچ چیزی از رمزنگاری نمی‌دانند، دوباره چشم‌هایشان به سمت شما بازگشت.

این نوع رمزنگاری بر روی یک رشته از حروف بزرگ و کوچک انگلیسی اجرا می‌شود و یک رشته‌ی جدید را به این صورت درست می‌کند:

اگر رشته ی اولیه SS باشد، از اولین حرف رشته از سمت چپ آغاز می‌کنیم و جلو می‌رویم و به ازای هر SiS_i از رشته، به جای آن، yyامین حرف انگلیسی را اضافه می‌کنیم به صورتی که

y=(XiAi+1)mod26y = (X_i*A_i+1) \;mod\;26

در این جا AiA_i شماره ی حرف در حروف الفبا و XiX_i تعداد تکرارهای حرف SiS_i در کل رشته ی SS است. در این جا باید به چند نکته توجه کنید:

  1. در صورتی که SiS_i حرف بزرگ الفبای انگلیسی باشد، حرف جایگزین آن نیز باید حرف بزرگ الفبا باشد و در غیر این صورت حرف جایگزین باید حرف کوچک الفبای انگلیسی باشد.

  2. در شمردن XiX_i بزرگی و کوچکی حروف تاثیری ندارد.

  3. شمردن حروف از ۰ شروع می‌شود و در نتیجه شماره ی حروف aa و AA، ۰ و شماره ی حروف zz و ZZ، ۲۵ می باشد.

  4. amodba\;mod\;b یعنی باقی مانده‌ی aa بر bb.

ورودی🔗

در یک خط یک رشته ی متشکل از حروف بزرگ و کوچک الفبای انگلیسی به شما داده می‌شود. 1S3001 \leq \left | S \right | \leq 300

خروجی🔗

در اولین و آخرین خط خروجی رشته‌ی رمز شده را چاپ کنید.

مثال🔗

ورودی نمونه ۱🔗

CharzE
Plain text

خروجی نمونه ۱🔗

DibsaF
Plain text

ورودی نمونه ۲🔗

Abbaabss
Plain text

خروجی نمونه ۲🔗

Beebbell
Plain text