import java.util.*;
import java.io.*;

public class Main
{
    public static void main(String[] args) throws Exception
	{
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String input = in.readLine();
		ArrayList<String> kamusTambahan = new ArrayList<String>();
		for(int i =0; i < input.length(); i++)
			if(!kamusTambahan.contains(input.charAt(i)+""))
				kamusTambahan.add(input.charAt(i)+"");
		kamusTambahan=mergeSort(kamusTambahan,0,kamusTambahan.size()-1);
		String kode="";
		for(int i =0;i<kamusTambahan.size();i++)
			kode+= kamusTambahan.get(i);
		String s = "";
		char c;
		String output ="";
		System.out.println(kode);
		
		for(int i =0;i<input.length()-1;i++)
		{
			s+=input.charAt(i)+"";
			c=input.charAt(i+1);
			int index = kamusTambahan.indexOf(s+c);
			if(index==-1)
			{
				System.out.print(kamusTambahan.indexOf(s)+1 + " ");
				kamusTambahan.add(s+c);
				s="";
			}
			//System.out.println(i);
		}
		output += kamusTambahan.indexOf(input.charAt(input.length()-1)+"")+1+"";
		System.out.println(kamusTambahan.indexOf(input.charAt(input.length()-1)+"")+1 + " ");
	}
	
	public static ArrayList<String> mergeSort(ArrayList<String> a, int i, int j)
	{
		int m =(i+j)/2;
		if(i==j)
		{
			ArrayList<String> result = new ArrayList<String>();
			result.add(a.get(i));
			return result;
		}
		ArrayList<String> kiri = mergeSort(a,i,m);
		ArrayList<String> kanan = mergeSort(a,m+1,j);
		return merge(kiri,kanan);
	}
	
	public static ArrayList<String> merge(ArrayList<String> a, ArrayList<String> b)
	{
		int i =0;
		int j =0;
		ArrayList<String> result = new ArrayList<String>();
		while(i<a.size()|| j < b.size())
		{
			if(j>=b.size()||(i<a.size()&&a.get(i).compareTo(b.get(j))<0))
			{
			result.add(a.get(i++));
			}
			else
				result.add(b.get(j++));
		}
		return result;
	}
}
