#include #include #include #include #include using namespace std; const int N=1e6+5; char s[N],sub[N]; int a[11]= {0}; int l[N]; int su[N]; int cnt; int sublen; int len; //void init(int n) //{ // //} void ce() { printf("\n(%d)\n",len) ; for(int i=0; i<10; i++) { printf("%d(%d) ",i,a[i]); } printf("\n"); for(int i=1; i<=cnt; i++) { printf("%d",l[i]); } } bool cmp(int b) { for(int i=0; il[i+b]) { return 0; } else if(su[i]0) { sum++; len/=10; } int len2=n-sum; int sum2=0; while(len2>0) { sum2++; len2/=10; } if(sum==sum2) { return n-sum; } else { return n-sum+1; } } bool ling() { for(int i=1;i0) { return 0; } } return 1; } int main() { scanf("%s%s",&s,&sub); len=strlen(s); for(int i=0; i0) { a[y%10]--; y/=10; } sublen=strlen(sub); bool fir=1; for(int i=0; ia[i] { vis=1; printf("%s",sub); break; } a[i]--; printf("%d",i); break; } } for(int i=0; i<=9; i++) { if(!vis&&su[0]==i&&fir) { printf("%s",sub); } while(a[i]) { printf("%d",i); a[i]--; } if(!vis&&su[0]==i&&!fir) { printf("%s",sub); } } /* 123456789012345678901 125860 2564168486416487447411002654 5416846 30024 20 */ // ce(); return 0; }