(I3
I107
I7
(dp0
Vtwostr.%l
p1
(Vtwostr_3.cpp
p2
S'#include <iostream>\r\n#include <string>\r\n#include <vector>\r\n#include <algorithm>\r\nusing namespace std;\r\nint i, sl, tl, smin=10, j;\r\nint a[10]={0,0,0,0,0,0,0,0,0,0};\r\nint b[10]={0,0,0,0,0,0,0,0,0,0};\r\nstring s, t;\r\nstring as, bt;\r\nvector<int> ak;\r\nvector<int> bk;\r\nint cmp(string d, string c)\r\n{\r\n    int flag=0;\r\n    if (d.size()>c.size()) return 1;\r\n    else\r\n    if (d.size()<c.size()) return 0;\r\n    else\r\n    {\r\n        int dl=d.size();\r\n        for (i=0;i<dl;i++)\r\n        {\r\n            if (d[i]>c[i]) \r\n            {\r\n                flag=1;\r\n                break;\r\n            }\r\n            else\r\n            if (d[i]<c[i])\r\n            {\r\n                flag=0;\r\n                break;\r\n            }\r\n            else \r\n            flag=2;\r\n        }\r\n        if (flag==1) return 1;\r\n        else \r\n        if(flag==2) return 2;\r\n        else return 0;\r\n    }\r\n    \r\n}\r\nvoid longSub(string f, string g, int big)\r\n{\r\n    string sub="";\r\n    if (big==2) {cout<<"0\\n"; return;}\r\n    else\r\n    if (big==0)\r\n    {\r\n        for (int h=g.size()-1;h>=0;h--)\r\n        {\r\n            bk.push_back(((int)(g[h]-\'0\')));\r\n        }\r\n        int p=g.size()-f.size();\r\n        for (int h=f.size()-1;h>=0;h--)\r\n        {\r\n            ak.push_back(((int)(f[h]-\'0\')));\r\n        }\r\n        for (int h=0;h<p;h++)\r\n            ak.push_back(0);\r\n        int m=bk.size();\r\n        for (int h=0;h<m;h++)\r\n        {\r\n            //cout<<bk[h]<<" "<<ak[h]<<endl;\r\n            if (ak[h]<=bk[h]) sub+=((char)((bk[h]-ak[h])+\'0\'));\r\n            else\r\n            {\r\n                if (bk[h+1]==0)\r\n                {\r\n                    bk[h+2]-=1;\r\n                    bk[h+1]=9;\r\n                    bk[h]+=10;\r\n                    sub+=((char)((bk[h]-ak[h])+\'0\'));\r\n                }\r\n                else\r\n                {\r\n                    bk[h+1]-=1;\r\n                    bk[h]+=10;\r\n                    sub+=((char)((bk[h]-ak[h])+\'0\'));\r\n                }\r\n            }\r\n            \r\n        }\r\n    }\r\n    else\r\n    {\r\n        for (int h=g.size()-1;h>=0;h--)\r\n        {\r\n            bk.push_back(((int)(g[h]-\'0\')));\r\n        }\r\n        int p=f.size()-g.size();\r\n        //cout<<p<<endl;\r\n        for (int h=f.size()-1;h>=0;h--)\r\n        {\r\n            ak.push_back(((int)(f[h]-\'0\')));\r\n        }\r\n        for (int h=0;h<p;h++)\r\n            bk.push_back(0);\r\n        int m=bk.size();\r\n        //cout<<m<<endl;\r\n        for (int h=0;h<m;h++)\r\n        {\r\n            //cout<<bk[h]<<" "<<ak[h]<<endl;\r\n            if (ak[h]>=bk[h]) sub+=((char)((ak[h]-bk[h])+\'0\'));\r\n            else\r\n            {\r\n                if (ak[h+1]==0)\r\n                {\r\n                    ak[h+2]-=1;\r\n                    ak[h+1]=9;\r\n                    ak[h]+=10;\r\n                    sub+=((char)((ak[h]-bk[h])+\'0\'));\r\n                }\r\n                else\r\n                {\r\n                    ak[h+1]-=1;\r\n                    ak[h]+=10;\r\n                    sub+=((char)((ak[h]-bk[h])+\'0\'));\r\n                }\r\n            }\r\n            \r\n        }\r\n    }\r\n    int w=sub.size();\r\n    while(sub[w-1]==\'0\')\r\n    {\r\n        sub.erase(w-1, 1);\r\n        w=sub.size();\r\n    }\r\n    reverse(sub.begin(),sub.end());\r\n    cout<<sub<<endl;\r\n}\r\nint  main()\r\n{\r\n    ///ios::sync_with_stdio(false)\r\n    ///cin.tie(NULL);\r\n    cin>>s>>t;\r\n    sl=s.size();\r\n    tl=t.size();\r\n    for (i=0;i<sl;i++)\r\n        a[(int)s[i]-\'0\']++;\r\n    for (i=0;i<tl;i++)\r\n    {\r\n        b[(int)t[i]-\'0\']++;\r\n        if (smin>(int)t[i]-\'0\'&&(int)t[i]-\'0\'!=0) smin=(int)t[i]-\'0\';\r\n    }\r\n    for (i=9;i>=0;i--)\r\n    {\r\n        if (a[i]>0)\r\n        {\r\n            for (j=0;j<a[i];j++)\r\n                as+=((char)i+\'0\');\r\n        }\r\n    }\r\n    bt+=((char)smin+\'0\');\r\n    b[smin]--;\r\n    for (i=0;i<10;i++)\r\n    {\r\n        if (b[i]>0)\r\n        {\r\n            for (j=0;j<b[i];j++)\r\n                bt+=((char)i+\'0\');\r\n        }\r\n    }\r\n    //cout<<as<<endl;\r\n    //cout<<bt<<endl;\r\n    int k=cmp(as,bt);\r\n    if (k==0) cout<<"-";\r\n    longSub(as,bt,cmp(as,bt));\r\n    return 0;\r\n}'
p3
tp4
stp5
.