import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
public class QueueTest {
/**
* @param args
*/
public static int[] queue(int a[])
{
for(int i=a.length-1;i>0;i--)
{
for(int j=0;j<i;j++)
{
if(a[j]>a[j+1])
{
int num = a[j+1];
a[j+1] =a[j];
a[j] = num;
}
}
}
return a;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(input);
StringBuffer sb = new StringBuffer();
sb.append(reader.readLine());
int b[] = new int[sb.toString().length()];
System.out.println(sb.toString().length());
for(int i =0;i<sb.toString().length()-1;i++)
{
int a = Integer.parseInt(String.valueOf((sb.toString().charAt(i))));
b[i]=a;
}
queue(b);
for(int i = 0;i<b.length;i++)
{
System.out.print(","+b[i]);
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
public class QueueTest {
/**
* @param args
*/
public static int[] queue(int a[])
{
for(int i=a.length-1;i>0;i--)
{
for(int j=0;j<i;j++)
{
if(a[j]>a[j+1])
{
int num = a[j+1];
a[j+1] =a[j];
a[j] = num;
}
}
}
return a;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(input);
StringBuffer sb = new StringBuffer();
sb.append(reader.readLine());
int b[] = new int[sb.toString().length()];
System.out.println(sb.toString().length());
for(int i =0;i<sb.toString().length()-1;i++)
{
int a = Integer.parseInt(String.valueOf((sb.toString().charAt(i))));
b[i]=a;
}
queue(b);
for(int i = 0;i<b.length;i++)
{
System.out.print(","+b[i]);
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
}