#include
#include<string.h>
#include
#include<string.h>
#include <bits/stdc++.h>
using namespace std;
string s[1000];
int k=0;
void subsequences(char *in,char *out,int i,int j)
{
if(in[i]=='\0')
{
out[j]='\0';
int l;
for(l=0;out[l]!='\0';l++)
{
s[k]=s[k]+out[l];
}
s[k]=s[k]+'\0';
// cout<<s[k]<<endl;
k++;
return;
}
subsequences(in,out,i+1,j);
out[j]=in[i];
subsequences(in,out,i+1,j+1);
string kk=to_string(int(in[i]));
out[j]=kk[0];
out[j+1]=kk[1];
subsequences(in,out,i+1,j+2);
}
int main()
{
char inp[100];
cin>>inp;
char b[1000];
subsequences(inp,b,0,0);
// sort(s,s+k);
for(int i=0;i<k;i++)
{
cout<<s[i]<<" ";
}
cout<<endl;
cout<<k;
return 0;
}