GrayInc
Gray Inc. Gray kodlarının idarə olunmasında ixtisaslaşmış bir proqram təminatı istehsalçısıdır. n-ikili kod, n ≥ 1 üçün, n bitdən ibarət olan hər bir mümkün ikili sözü əhatə edən sözlər ardıcıllığıdır: w_0, w_1, ... . n-Gray kodu, ardıcıl iki söz arasında yalnız bir bitin dəyişdiyi, yəni dəqiq bir mövqedə fərqləndiyi n-ikili koddur. Bildiyiniz kimi, bir çox n-Gray kodları mövcuddur.
Gray Inc. öz xüsusi Gray kodunu aşağıdakı şəkildə istehsal edir (istehsal olunan n-Gray kodunu G_n adlandırın, n ≥ 1):
G_n təyinatı aşağıdakı kimi başa düşülməlidir:
bA : A ardıcıllığının hər bir elementinə bit b əlavə edir;
AB : A və B ardıcıllıqlarını birləşdirir;
A^R : A ardıcıllığının elementlərini tərs qaydada olan ardıcıllıq.
Məsələn,
və
Görün ki, G_n yalnız n-Gray kodu deyil, həm də dairəvi Gray kodudur, çünki ardıcıllıqda ilk söz sonuncunun varisi kimi qəbul edilə bilər.
Gray Inc. sizdən aşağıdakı problemi həll etmək üçün kömək istəyir: G_n içindəki bir ikili söz w və təbii ədəd m verildikdə, onlar G_n ardıcıllığında w-dən m söz irəlidə olan ikili sözü istehsal etmək istəyirlər (əlbəttə, yuxarıda təsvir edilən dairəvi sıralamanı nəzərə alaraq). Onlara kömək edə bilərsinizmi?
Giriş verilənləri
Problem girişi bir neçə hallardan ibarətdir, hər biri bir boşluqla ayrılmış bir tam ədəd m (0 < m ≤ 1000) və bir ikili n-sözü w (1 ≤ n ≤ 100) ilə müəyyən edilir.
Girişin sonu m = 0 və w = 0 olan bir sətirlə verilir.
Çıxış verilənləri
Hər bir giriş halı üçün, həlliniz G_n siyahısında w-dən m söz irəlidə olan n-ikili sözü çıxış etməlidir.