/*
#include <stdio.h>
int main ()
{
int n,arr[101]={},i,sum=0;
scanf ("%d",&n);
for (i=1;i<=n;i++)
{
scanf ("%d",&arr[i]);
}
for (i=1;i<=n;i++)
{
if (arr[i]!=0&&arr[i-1]!=0)
{
arr[i]=arr[i-1]+1;
}
}
for (i=1;i<=n;i++)
{
sum=sum+arr[i];
}
printf ("%d",sum);
return 0;
}
*/
/*
#include <stdio.h>
long long int n;
long long int f(long long int n)
{
long long int a=0;
while (n!=0)
{
a=a*10+n%10;
n=n/10;
}
return a;
}
int main()
{
scanf("%lld", &n);
printf("%lld\n", f(n));
}
*/
/*
#include <stdio.h>
int a[10001];
int n, i, j, temp, key;
int main()
{
scanf("%d", &n);
for (i = 1; i <= n; i++)
scanf("%d", &a[i]);
for (i=2; i<=n; i++)
{
key=a[i];
for(j=i-1;j>=1&&key<a[j];j--)
{
a[j+1]=a[j];
}
a[j+1]=key;
}
for (i=1; i<=n; i++)
printf("%d\n", a[i]);
return 0;
}
*/
/*
#include <stdio.h>
int main ()
{
int i,temp,a[4],j;
for (i=1;i<=3;i++)
{
scanf ("%d",&a[i]);
}
for (i=1;i<3;i++)
{
for (j=1;j<=3-i;j++)
{
if (a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for (i=1;i<=3;i++)
{
printf ("%d ",a[i]);
}
return 0;
}
*/
/*
#include <stdio.h>
int a[10001];
int n, i, j, temp, min;
int main() {
scanf("%d", &n);
for (i = 1; i <= n; i++)
scanf("%d", &a[i]);
for (i=1; i<n; i++)
{
min=i;
for (j=i+1; j<=n; j++)
{
if (a[j]<a[min])
{
min=j;
}
}
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
for (i=1; i<=n; i++)
printf("%d\n", a[i]);
return 0;
}
*/
/*
#include <stdio.h>
int main ()
{
int a[4],i,j,min,temp;
for (i=1;i<=3;i++)
{
scanf ("%d",&a[i]);
}
for (i=1;i<3;i++)
{
min=i;
for (j=i+1;j<=3;j++)
{
if (a[j]<a[min])
{
min=j;
}
}
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
for (i=1;i<=3;i++)
{
printf ("%d ",a[i]);
}
return 0;
}
*/
/*
#include <stdio.h>
#define SIZE 5
int stack[SIZE]={};
int top=-1; //데이터가 마지막으로 저장된 위치
void push(int data)
{
stack[++top]=data;
}
int pop()
{
return stack[top--];
}
*/
/*
#include <stdio.h>
#define SIZE 50
int stack[SIZE]={};
int top=-1;
void push (int data)
{
stack[++top]=data;
}
int pop ()
{
return stack [top--];
}
int main ()
{
int n,i;
char str[50]={};
scanf ("%s",str);
for(i=0;i<strlen(str);i++)
{
push(str[i]-'0');
}
for (i=0;i<strlen(str);i++)
{
printf ("%d",pop());
}
return 0;
}
*/
#include <stdio.h>
#define SIZE 200
#include <string.h>
int stack [SIZE]={};
int top=-1;
void push (int data)
{
stack[++top]=data;
}
int pop ()
{
return stack [top--];
}
int main ()
{
int i,n;
char str[SIZE]={};
scanf ("%d",&n);
for (i=1; ;i++)
{
if (n%3==0)
{
str[i]=',';
}
else
{
str[i]=n%10;
n=n/10;
}
}
for (i=1;i<strlen(str);i++)
{
push (str[i]);
}
for (i=1;i<strlen(str);i++)
{
printf ("%c",pop());
}
}