#include<stdio.h>
#include<string>
#include<vector>
#include<iostream>
typedef long long int lli;
using namespace std;
const long long int K = 1000000007LL;
lli power(lli base, lli exponent)
{
lli result=1;
while(exponent)
{
if(exponent & 1)
result=(result*base)%K;
exponent>>=1;
base=(base*base)%K;
}
return result%K;
}
int main()
{
string n;
cin>>n;
lli k;
cin>>k;
vector<int> position;
for(int i=0;i<n.length();i++)
if(n[i]=='5' || n[i]=='0')
position.push_back(i);
lli m=0;
for(int i=0;i<position.size();i++)
m=(m+power(2,position[i]))%K;
lli answer=0;
lli l=n.length();
// the following is finding summation via loop
for(int i=1;i<=k;i++)
answer=(answer + (power(2,l*(k-i))*m)%K)%K;
cout<<answer<<endl;
// the following finds the sum by using gp formula (1st_term*(ratio^no_of_terms-1)/(ratio-1))
answer=1;
answer=((power(power(2,l),k) - 1)/(power(2,l)-1))%K;
answer=(answer*m)%K;
cout<<answer<<endl;
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RyaW5nPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPGlvc3RyZWFtPgp0eXBlZGVmIGxvbmcgbG9uZyBpbnQgbGxpOwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIGludCBLID0gMTAwMDAwMDAwN0xMOwoKbGxpIHBvd2VyKGxsaSBiYXNlLCBsbGkgZXhwb25lbnQpCnsKICAgIGxsaSByZXN1bHQ9MTsKICAgIHdoaWxlKGV4cG9uZW50KQogICAgewogICAgICAgIGlmKGV4cG9uZW50ICYgMSkKICAgICAgICAgICAgcmVzdWx0PShyZXN1bHQqYmFzZSklSzsKICAgICAgICBleHBvbmVudD4+PTE7CiAgICAgICAgYmFzZT0oYmFzZSpiYXNlKSVLOwogICAgfQogICAgcmV0dXJuIHJlc3VsdCVLOwp9CmludCBtYWluKCkKewogICAgc3RyaW5nIG47CiAgICBjaW4+Pm47CiAgICBsbGkgazsKICAgIGNpbj4+azsKICAgIHZlY3RvcjxpbnQ+IHBvc2l0aW9uOwogICAgZm9yKGludCBpPTA7aTxuLmxlbmd0aCgpO2krKykKICAgICAgICBpZihuW2ldPT0nNScgfHwgbltpXT09JzAnKQogICAgICAgICAgICBwb3NpdGlvbi5wdXNoX2JhY2soaSk7CiAgICBsbGkgbT0wOwogICAgZm9yKGludCBpPTA7aTxwb3NpdGlvbi5zaXplKCk7aSsrKQogICAgICAgIG09KG0rcG93ZXIoMixwb3NpdGlvbltpXSkpJUs7CiAgICBsbGkgYW5zd2VyPTA7CiAgICBsbGkgbD1uLmxlbmd0aCgpOwoKLy8gdGhlIGZvbGxvd2luZyBpcyBmaW5kaW5nIHN1bW1hdGlvbiB2aWEgbG9vcAogICAgZm9yKGludCBpPTE7aTw9aztpKyspCiAgICAgICAgYW5zd2VyPShhbnN3ZXIgKyAocG93ZXIoMixsKihrLWkpKSptKSVLKSVLOwogICAgY291dDw8YW5zd2VyPDxlbmRsOwoKLy8gdGhlIGZvbGxvd2luZyBmaW5kcyB0aGUgc3VtIGJ5IHVzaW5nIGdwIGZvcm11bGEgKDFzdF90ZXJtKihyYXRpb15ub19vZl90ZXJtcy0xKS8ocmF0aW8tMSkpICAgIAogICAgYW5zd2VyPTE7CiAgICBhbnN3ZXI9KChwb3dlcihwb3dlcigyLGwpLGspIC0gMSkvKHBvd2VyKDIsbCktMSkpJUs7CiAgICBhbnN3ZXI9KGFuc3dlciptKSVLOwogICAgY291dDw8YW5zd2VyPDxlbmRsOwogICAgcmV0dXJuIDA7Cn0=