#include<bits/stdc++.h>
using namespace std;
int n,m,l[1000],fb[60][60][10],fs[60][60][10],ma=-1e9,mi=1e9;
int mod(int s)
{
if (s>=0) return s%10;
else
{
int q=abs(s);
return 10-q%10;
}
}
int main()
{
cin>>n>>m;
for (int i=1;i<=n;i++){cin>>l[i];l[i+n]=l[i];}
for (int c=0;c<n;c++)
{
int s[1000]={ },sum[1000]={ };
for (int i=1;i<=n;i++) s[i]=l[i+c],sum[i]=sum[i-1]+s[i];
memset(fb,0,sizeof(fb));
memset(fs,0x3f,sizeof(fs));
for (int i=1;i<=n;i++)
for (int j=i;j<=n;j++) fb[i][j][1]=mod(sum[j]-sum[i-1]),fs[i][j][1]=mod(sum[j]-sum[i-1]);
for (int deep=2;deep<=m;deep++)
{
for (int len=1;len<n;len++)
for (int i=1;i<=n;i++)
{
int j=i+len;
if (j>n) break;
for (int k=1;deep-k>=1;k++)
{
int m=i;
while (m<j)
{
fs[i][j][deep]=min(abs(fs[i][m][k]*fs[m+1][j][deep-k]),fs[i][j][deep]);
fb[i][j][deep]=max(fb[i][m][k]*fb[m+1][j][deep-k],fb[i][j][deep]);
m++;
}
}
}
}
ma=max(ma,fb[1][n][m]);
mi=min(mi,fs[1][n][m]);
}
cout<<mi<<endl<<ma;
return 0;
}