import java.io.*;
class demo{
private int a[]={0,1,2,3,4,5,6,7,8,9};
public boolean knap(int s,int n)
{
if(s<0||(s>0&&n<1))
return false;
if(s==0)
return true;
if(knap(s-a[n],n))
{
System.out.print(a[n]);
return true;
}
knap(s-a[n],n-1);
return knap(s,n-1);
}
public static void main(String []arg)
{
int m;
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
String s;
demo d=new demo();
try{
s=br.readLine();
m=Integer.parseInt(s);
for(int i=9;i>=0;i--)
{
if(d.knap(m,i))
System.out.println();
}
}catch(Exception e)
{
System.out.println(e.toString());
}
}
}
[ 本帖最后由 sunkaidong 于 2008-5-13 12:43 编辑 ]