#include<iostream>
#include<cstdio>
#include<malloc.h>
#include<cstdlib>
using namespace std;
typedef struct cicle
{
int data;
struct cicle *next;
struct cicle *prior;
}list;
list *createcyclelist(int n)
{
list *head=NULL;
list *s,*q;
s=(list*)malloc(sizeof(list));
head=s;
q=s;
head->data=0;
int i;
for(i=1;i<=n;i++)
{
s=(list*)malloc(sizeof(list));
s->data=i;
q->next=s;
s->prior=q;
q=s;
}
q->next=head;
head->prior=q;
return head;
}
int main()
{
int N,k,m;
while(cin>>N>>k>>m)
{
if(N==0&&k==0&&m==0)break;
list *h1,*h2;
h1=createcyclelist(N);
h2=h1;
int flag=N;
while(flag)
{
int temp1=0,temp2=0;
int i=1;
while(true)
{
if(h1->data==0)
h1=h1->next;
else
{
h1=h1->next;
i++;
}
if(i==k&&h1->data!=0)
{
temp1=h1->data;
break;
}
}
int j=1;
while(true)
{
if(h2->data==0)
h2=h2->prior;
else
{
h2=h2->prior;
j++;
}
if(j==m&&h2->data!=0)
{
temp2=h2->data;
break;
}
}
if(temp1!=temp2)
{
flag=flag-2;
cout.width(3);
cout<<temp1;
cout.width(3);
cout<<temp2;
if(flag)cout<<",";
h1->data=0;
h2->data=0;
}
else
{
flag=flag-1;
cout.width(3);
cout<<temp1;
if(flag)cout<<",";
h1->data=0;
}
}
cout<<endl;
}
return 0;
}