
#include <stdio.h>
int min = -99999;
void print(int a[], int n)
{
for (int i = 0; i < n; i++)
printf("%d,", a[i]);
}
void sort(int a[], int par, int size)
{
int temp = a[par];
int child = 2 * par + 1;
while (child < size)
{
if (child + 1 < size && a[child + 1] > a[child])
child++;
if (a[par] > a[child])
break;
else
{
a[par] = a[child];
par = child;
child = 2 * par + 1;
}
a[par] = temp;
}
}
void swap(int a[], int i, int j)
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
int main()
{
char b[50];
gets(b);
int a[21];
int bucket[10][21];
for (int i = 0; i < 10; i++)
for (int j = 0; j < 21; j++)
bucket[i][j] = min;
int sum = 0, run = 0, i = 0, cnt = 0;
while (b[i])
{
if (b[i] != ',')
{
sum = sum * 10 + b[i] - '0';
}
else
{
a[run++] = sum;
sum = 0;
}
i++;
}
int need;
scanf("%d", &need);
if (cnt == need)
print(a, run);
int pr = 10;
int flag = 0;
int row = 0, column = 0;
while (1)
{
flag = 0;
for (int i = 0; i < run; i++)
{
int k = (a[i] % pr) / (pr / 10);
bucket[k][column++] = a[i];
if (a[i] / pr != 0 && a[i] != 0)
{
flag = 1;
}
}
int run = 0;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 21; j++)
{
if (bucket[i][j] != min)
{
a[run++] = bucket[i][j];
}
}
}
cnt++;
if (cnt == need)
print(a, run);
if (flag == 0)
break;
for (int i = 0; i < 10; i++)
for (int j = 0; j < 21; j++)
bucket[i][j] = min;
pr *= 10;
}
cnt++;
if (cnt == need)
print(a, run);
return 0;
}