#include<stdio.h>
#include<string.h>
void reverse(char*arr,char *f,char*e)
{
char temp;
while(f<e)
{
temp=*f;
*f=*e;
*e=temp;
f++;
e--;
}
}
int main()
{
int r, n,i,j,c;
while(1)
{
char str[202],*p,*q;
char ans[15][15]={'\0'};
//fflush(stdin);
//gets(str);
if(n==0)
break;
p=str;
q=str;
c=1;
i=0;j=0;
while(*p!='\0')
{
if(c==n+1)
{
c=1;
i++;
j=0;
if(i%2!=0)
{
reverse(str,p,p+n-1);
}
}
ans[i][j++]=*p;
c++;
p++;
}
int k;
k=0;
for(i=0;i<n;i++)
{
for(j=0;j<r;j++)
*(q+k++)=ans[j][i];
}
*(q+k)='\0';
}
}
CiNpbmNsdWRlPHN0ZGlvLmg+CiNpbmNsdWRlPHN0cmluZy5oPgp2b2lkIHJldmVyc2UoY2hhciphcnIsY2hhciAqZixjaGFyKmUpCnsKCWNoYXIgdGVtcDsKCQoJd2hpbGUoZjxlKQoJewoJCXRlbXA9KmY7CgkJKmY9KmU7CgkJKmU9dGVtcDsKCQkKCQlmKys7CgkJZS0tOwoJCQoJfQoJCgkKfQoKCmludCBtYWluKCkKewoJaW50IHIsIG4saSxqLGM7Cgl3aGlsZSgxKQoJewoJY2hhciBzdHJbMjAyXSwqcCwqcTsKCWNoYXIgYW5zWzE1XVsxNV09eydcMCd9OwovL2ZmbHVzaChzdGRpbik7Ci8vZ2V0cyhzdHIpOwkKCXNjYW5mKCIlZCIsJm4pOwoJaWYobj09MCkKCWJyZWFrOwoJc2NhbmYoIiVzIixzdHIpOwoJcD1zdHI7CnE9c3RyOwoJYz0xOwoJaT0wO2o9MDsKCXdoaWxlKCpwIT0nXDAnKQoJewoJCQoJCQlpZihjPT1uKzEpCgkJCXsKCQkJCWM9MTsKCQkJCWkrKzsKCQkJCQlqPTA7CgkJCWlmKGklMiE9MCkKCQkJewoJCQkJcmV2ZXJzZShzdHIscCxwK24tMSk7CgkJCX0KCQkKCQl9CgkJCWFuc1tpXVtqKytdPSpwOwoJCQljKys7CgkJCQkKCQlwKys7CgkKCX0KCWludCBrOwoJCXI9c3RybGVuKHN0cikvbjsKCWs9MDsKCWZvcihpPTA7aTxuO2krKykKCXsKCQlmb3Ioaj0wO2o8cjtqKyspCgkJKihxK2srKyk9YW5zW2pdW2ldOwkKCQoJfQoJKihxK2spPSdcMCc7CglwcmludGYoIiVzXG4iLHEpOwoKfQoKfQo=