#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;
#define ll long long
ll n,k,ans;
ll sum5,sum2;
struct one{
ll n,s5,s2;
}a[205];
ll f[205][205];
//f[i][j]代表在前i个数中选j个的最大值
void ycl(ll z)
{
while(a[z].n!=0&&a[z].n%2==0)
{
a[z].s2++;
a[z].n/=2;
}
while(a[z].n!=0&&a[z].n%5==0)
{
a[z].s5++;
a[z].n/=5;
}
return ;
}
int main()
{
// freopen("A.in","r",stdin);
// freopen("A.out","w",stdout);
cin>>n>>k;
for(ll i=1;i<=n;i++)
cin>>a[i].n,ycl(i);//,cout<<a[i].s2<<' '<<a[i].s5<<endl;
for(ll i=1;i<=n;i++)
for(ll l=k;l>=1;l--){
sum5+=a[i].s5;
sum2+=a[i].s2;
f[i][l]=max(f[i-1][l],f[i-1][l-1]+min(sum2,sum5));
int pos=min(sum2,sum5);
sum2-=pos,sum5-=pos;
}
cout<<f[n][k]<<endl;
fclose(stdin);
fclose(stdout);
return 0;
}