/*{
ZADATAK: proizvod
JEZIK: cpp
}*/
#include <queue>
using namespace std;
#include <stdio.h>
#include <stdlib.h>


int proizvod;
int maska,c,ma;


inline short broj(const char c){
	return c-'0';
}

inline void proizc(const int x){
	proizvod=proizvod*10+c*x;
	proizvod%=maska;
}
inline void proizm(const int x){
	proizvod=proizvod*10+ma*x;
	proizvod%=maska;
}


int main(){

	priority_queue<char> red;
	FILE *f=fopen("proizvod.in","r");
	int n,m;
	fscanf(f,"%d%d",&n,&m);

	int i;
	maska=10;
	proizvod=0;
	getc(f);
	getc(f);
	for(i=1;i<=n;i++){
		red.push( getc(f) );//gurni na red
	}
	
	for(i=2;i<=m;i++){
		maska*=10;
	}


	fclose(f);
	//kraj ucitavanja i nekih inic

	int gran=n/2;
	int dodajPosle=n%2;
	int veci=0;
	int temp;

	for(i=1;(i<=gran) && (veci==0);i++){
		proizm( temp=broj( red.top() ) );
		c=c*10+temp;
		red.pop();
		
		
		proizc( temp=broj( red.top() ) );
		ma=ma*10+temp;
		red.pop();
		veci=c-ma;
		c%=maska;
		ma%=maska;
	}//dok su jednaki brojevi
	

	if(i<=gran){
		if(veci>0){//veca je cena i treba prvo dodavati marzi
			for(;i<=gran;i++){
				proizc( temp=broj( red.top() ) );
				ma=ma*10+temp;
				red.pop();
				ma%=maska;
				
				proizm( temp=broj( red.top() ) );
				c=c*10+temp;
				red.pop();
				c%=maska;
			}
			if(dodajPosle){
				proizc( temp=broj( red.top() ) );
				m=m*10+temp;
				red.pop();
				ma%=maska;
			}
		}else{//veca je marza i treba prvo dodavati ceni
				for(;i<=gran;i++){
					proizm( temp=broj( red.top() ) );
					c=c*10+temp;
					red.pop();
					c%=maska;
						
					proizc( temp=broj( red.top() ) );
					ma=ma*10+temp;
					red.pop();
					ma%=maska;
				}
				if(dodajPosle){
					proizm( broj( red.top() ) );
					
				}
		}
	}else{//ako sam u pocetku presao granicu
		if(dodajPosle){
			if(veci>0){
				proizc( broj( red.top() ) );
			}else{
				proizm( broj( red.top() ) );
			}
			
		}
	}


	f=fopen("proizvod.out","w");
	int vazeceCifre=1,mask1=10,proizvod1=proizvod;
	while(proizvod/=10){
		++vazeceCifre;
		mask1*=10;
	}
	for(i=1;i<=m-vazeceCifre;i++){
		putc('0',f);
	}
	fprintf(f,"%d",proizvod1%mask1);
	fclose(f);

	return 0;
}