RT ,
//By Luogu@wangdemao(308854)
#include <iostream>
#include <cstring>
using namespace std;
int GetPrimeFactor2InANum(unsigned long long num);
int GetPrimeFactor5InANum(unsigned long long num);
int PrimeFactor2[220],PrimeFactor5[220];
unsigned long long dp[220][6221];
unsigned long long Numbers[220];
int n,k;
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>Numbers[i];
PrimeFactor2[i]=GetPrimeFactor2InANum(Numbers[i]);
PrimeFactor5[i]=GetPrimeFactor5InANum(Numbers[i]);
}
memset(dp,-1,sizeof(dp));
for(int i=0;i<200;i++)
dp[i][0]=dp[0][i]=0;
for(int i=1;i<=n;i++)
{
for(int j=k;j>=1;j--)
{
for(int l=6200;l>=PrimeFactor5[i];l--)
{
if(Numbers[i]!=0)
dp[j][l]=max(dp[j][l],dp[j-1][l-PrimeFactor5[i]]+PrimeFactor2[i]);
}
}
}
unsigned long long ans=0;
for(unsigned long long i=0;i<=6200;i++)
ans=max(ans,min(i,dp[k][i]));
cout<<ans;
return 0;
}
int GetPrimeFactor2InANum(unsigned long long num)
{
int cnt=0;
if(num==0)
return 0;
while(num%2==0)
num/=2,cnt++;
return cnt;
}
int GetPrimeFactor5InANum(unsigned long long num)
{
int cnt=0;
if(num==0)
return 0;
while(num%5==0)
num/=5,cnt++;
return cnt;
}