فهرست مندرجات

Sepidedam

علی در هنگام انجام دوی صبحگاهی به دستگاه عجیبی برخورد کرد. در این دستگاه $n$ عدد دور دایره در جایگاه‌های $0$ تا $n - 1$ نوشته شده‌اند و یک دکمه زیر این دایره قرار داده شده است. پس از بررسی‌های فراوان علی به این نتیجه رسید که با زدن دکمه‌ی دستگاه عملیات زیر انجام می‌شود:

اگر پیش از زدن دکمه‌ی دستگاه در جایگاه $i$ ام عدد $a_i$ و پس از زدن دکمه‌ی دستگاه در این جایگاه عدد $b_i$ نوشته شده باشد:

$$b_i = a_{(i + c_0) \operatorname{mod} n} \oplus a_{(i + c_1) \operatorname{mod} n} \oplus \ldots \oplus a_{(i + c_{k - 1}) \operatorname{mod} n}$$

برنامه‌ای بنویسید که مشخص کند اعداد پس از $t$ بار فشرده شدن دکمه چه تغییری می‌کنند.

پیاده‌سازی

در این سوال شما باید توابع زیر را پیاده‌سازی کنید.

این تابع دقیقا یک‌بار فراخوانی می‌شود. آن را طوری پیاده‌سازی کنید که اعداد نهایی را در آرایه‌ی مربوطه بنویسد.

ارزیاب نمونه

ارزیاب نمونه ورودی را به صورت زیر می‌خواند:

  1. در خط اول یک رشته به طول $n$ آمده است که هر حرف آن صفر یا یک است و حرف $i$ $(0 \le i \le n - 1)$ام آن برابر $a_i$ است.
  2. در خط دوم یک رشته به طول $n$ آمده است که هر حرف آن صفر یا یک است و اگر حرف $i$ $(0 \le i \le n - 1)$ ام آن یک باشد، عدد $i$ در دنباله‌ی $c$ آمده است.
  3. در خط سوم یک رشته آمده است که برابر با عدد $t$ در مبنای دو است.

زیرمسئله‌ها

محدودیت‌ها

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
1010
0100
1
0101