#include <iostream>
#include <iomanip>
#include <string>
#include <algorithm>
#include <math.h>
using namespace std;

int main() {

    long long N, d[100000], M, k=0, A[2]={0,0}; string s; bool b=1;

    cin >> N >> M >> s;
    for (int i=0; i<N && ((d[i]=s[i]-'0')||1); i++) {}

    sort(d, d+N); reverse(d,d+N);

    for (long i=0; i<N && ((A[k] = (A[k]*10 + d[i]) % 1000000000L)||1); i++)
        b = !(!(k=1-k) && b && (d[i]!=d[i-1]) && (k=1-k)) && b;

    cout << setfill('0') << setw(M) << (A[0] * A[1] % (long long)pow(10.0,(double)M)) << endl;
}
