#include<bits/stdc++.h>
using namespace std;
const int N=1e2+10;
typedef long long ll;
int read()
{
int n=0;char ch=getchar();
while(ch<'0'||'9'<ch)ch=getchar();
while(ch>='0'&&ch<='9'){n=n*10+ch-'0';ch=getchar();}
return n;
}
int m,n,a[N],kmin=0x3ffff,kmax=-1,b[N];
int mod(int x){
return (x%10+10)%10;
}
void dfs(int now,int x,int j,int y)
{
if(j==m&&y==n)
{
kmax=max(kmax,x);
kmin=min(kmin,x);
return;
}
if(y>n) return;
if(j>m) return;
for(int i=1;i<=n;i++)
{
if(y+i>n) return;
int sum=0;
for(int k=now+1;k<=now+i;k++) sum+=a[k];
dfs(now+i,x*mod(sum),j+1,y+i);
}
return;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
a[i]=read();
a[i+n]=a[i];
}
for(int i=0;i<=n-1;i++)
{
dfs(i,1,0,0);
}
cout<<kmin<<"\n"<<kmax;
return 0;
}