#include #include using namespace std; int CalcSum(int orgnum, int shredId) { int leftnum = orgnum; int sum = 0; for(int i=4; i>=0; i--){ if((shredId & (1 << i)) == (1 << i)){ int mask = pow(10, i+1); if(mask > orgnum) return -1; sum += leftnum / mask; leftnum %= mask; } } return sum + leftnum; } void OutputPaper(int orgnum, int shredId) { int leftnum = orgnum; for(int i=4; i>=0; i--){ if((shredId & (1 << i)) == (1 << i)){ int mask = pow(10, i+1); cout << " " << leftnum / mask; leftnum %= mask; } } cout << " " << leftnum; return; } int main() { int target, orgnum; while((cin >> target >> orgnum) && (target != 0 || orgnum != 0)){ if(target == orgnum){ cout << target << " " << orgnum << endl; }else{ int max = -1; int shredId = 0; int reject = 0; for(int i=0; i<32; i++){ int sum = CalcSum(orgnum, i); if(sum <= target){ if(sum > max){ reject = 0; shredId = i; max = sum; }else if(sum == max){ reject = 1; } } } if(max == -1){ cout << "error" << endl; }else if(reject){ cout << "rejected" << endl; }else{ cout << max; OutputPaper(orgnum, shredId); cout << endl; } } } return 0; }