#include<iostream> int n,m; int a[10]={0}; int num; int q=0; int sum=0; int b[10]={0}; void jisuan() { for(int i=0;i<q-1;i++) { if(a[i]==1) { sum=sum*10+b[i]; } if(a[i]==0) { } } } void dfs(int step) { if(step==(q-1)) { for(int i=0;i<(q-1);i++) printf("%d",a[i]); printf("\n"); jisuan(); return; } for(int i=0;i<2;i++) { a[step]=i; dfs(step+1); } } void cunshu(int i) { int k=i; for(int j=0;j<10;j++) { b[j]=i%10; i=i/10; } while(k) { k=k/10; q++; } } int main() { freopen("input.txt","r",stdin); scanf("%d%d",&n,&m); /*if(n==0&&m==0) break;*/ cunshu(m); printf("%d\n",q); for(int i=0;i<q;i++) { printf("%d ",b[i]); } dfs(0); }