#include<bits/stdc++.h>
using namespace std;
int main(){
map<int,int> mp;
string s,t;
cin>>s;
int n,d,a,b;
cin>>n>>d;
int m=s.size();
m=m-d;
n=n-d;
a=m;
b=n;
int cou[10004]={0};
for(int i=0;i<m;i++){
while(cou[mp[i]]==1){
mp[i]++;
mp[i]%n;
}
cou[mp[i]]=1;
}
int ans=0,k=0;
for(int i=a-1;i>=0;i--){
ans
+=pow(2,k
)*(s
[i
]-'0'); k++;
}
ans=mp[ans];
vector<int> v;
while(ans){
v.push_back(ans%2);
ans=ans/2;
}
for(int i=0;i<m;i++){
cout<<i<<" "<<mp[i]<<endl;
}
for(int i=v.size()-1;i>=0;i--){
cout<<v[i];
}
for(int i=a;i<s.size();i++){
cout<<s[i];
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKXsKICAgIG1hcDxpbnQsaW50PiBtcDsKICAgc3RyaW5nIHMsdDsKICAgY2luPj5zOwogICBpbnQgbixkLGEsYjsKICAgY2luPj5uPj5kOwogICBpbnQgbT1zLnNpemUoKTsKICAgbT1tLWQ7CiAgIG49bi1kOwogICBhPW07CiAgIGI9bjsKICAgbT1wb3coMixtKTsKICAgbj1wb3coMixuKTsKICAgaW50IGNvdVsxMDAwNF09ezB9OwogICBmb3IoaW50IGk9MDtpPG07aSsrKXsKICAgICAgbXBbaV09cmFuZCgpJW47CiAgICAgd2hpbGUoY291W21wW2ldXT09MSl7CiAgICAgICAgIG1wW2ldKys7CiAgICAgICAgIG1wW2ldJW47CiAgICAgICAgIH0KICAgICAgICAgY291W21wW2ldXT0xOwogICB9CiAgIGludCBhbnM9MCxrPTA7CiAgZm9yKGludCBpPWEtMTtpPj0wO2ktLSl7CiAgICAgYW5zKz1wb3coMixrKSooc1tpXS0nMCcpOwogICAgIGsrKzsKICB9CiAgYW5zPW1wW2Fuc107CiAgdmVjdG9yPGludD4gdjsKICB3aGlsZShhbnMpewogICAgIHYucHVzaF9iYWNrKGFucyUyKTsKICAgIGFucz1hbnMvMjsKICB9IAogIGZvcihpbnQgaT0wO2k8bTtpKyspewogIGNvdXQ8PGk8PCIgIjw8bXBbaV08PGVuZGw7CiAgfQogIGZvcihpbnQgaT12LnNpemUoKS0xO2k+PTA7aS0tKXsKICBjb3V0PDx2W2ldOwogIH0KIAogIGZvcihpbnQgaT1hO2k8cy5zaXplKCk7aSsrKXsKICAgY291dDw8c1tpXTsKICAgfSAKfSA=