#include #include #include using namespace std; unsigned long long q(int x) { unsigned long long a = x; unsigned long long mult = 1; while ( a >1) { mult *= a%10; a= a/10; } return mult*x; } int compare (const void * a, const void * b) { if ( *(unsigned long long*)a < *(unsigned long long*)b ) return -1; if ( *(unsigned long long*)a == *(unsigned long long*)b ) return 0; if ( *(unsigned long long*)a > *(unsigned long long*)b ) return 1; } int main(){ unsigned long long l ; unsigned long long k ; unsigned long long r; cin>>l>>k; unsigned long long x =1; unsigned long long n = 0; unsigned long long mas[l+10]; for(unsigned long long i = 0 ; i < l+10 ; i++) mas[i] = pow(10 ,18); while (n < (l+10)) { if(q(x) >= l ){ mas[n] = q(x); //cout<< n << " " << x << " " << q(x)<