You have a positive integer m and a non-negative integer s. Your task is to find the smallest and the largest of the numbers that have length m and sum of digits s. The required numbers should be non-negative integers written in the decimal base without leading zeroes.
InputThe single line of the input contains a pair of integers m, s (1?≤?m?≤?100,?0?≤?s?≤?900) — the length and the sum of the digits of the required numbers.
OutputIn the output print the pair of the required non-negative integer numbers — first the minimum possible number, then — the maximum possible number. If no numbers satisfying conditions required exist, print the pair of numbers "-1 -1" (without the quotes).
Sample test(s) input2 15output
69 96input
3 0output
-1 -1
#include#include #include using namespace std; bool can(int m, int s) { if(s >= 0 && 9*m >= s) return true; else return false; } int main() { int m,s; cin>>m>>s; if(!can(m,s)) { cout<<"-1"<<" "<<"-1"< = 10) { cout<<"-1"<<" "<<"-1"< 0 || (j == 0 && i > 1) ) && can(m - i, sum - j)) { minn += char('0' + j); sum -= j; break; } } sum = s; for(int i = 1; i <= m; i++) for(int j = 9; j >= 0; j--) { if(can(m - i, sum - j)) { maxn += char('0' + j); sum -= j; break; } } cout<