#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
long long tobig(string str) {
  long long res = 0;
  for (long long lol = 0; lol < str.size(); lol++) {
    res += (str[lol] - 48) * pow(10, str.size() - 1 - lol);
  }
  return res;
}
const long long mod = 1e9 + 7;
long long power(long long a, long long b) {
  if (b == 0) return 1;
  if ((long long)b % 2 == 0) {
    long long lol = power(a, b / 2) % mod;
    return (lol * lol) % mod;
  } else
    return ((a) * ((power(a, b - 1)))) % mod;
}
long long pod[10];
int main() {
  string s;
  long long k;
  cin >> s >> k;
  long long res = 0;
  long long mnoz = 1;
  for (int lol = 0; lol < s.length(); lol++) {
    if (s[lol] == '0' || s[lol] == '5') {
      res += mnoz;
      res %= mod;
    }
    mnoz *= 2;
    mnoz %= mod;
  }
  long long chi = power(mnoz, k) - 1;
  if (chi < 0) chi += mod;
  long long znam = mnoz - 1;
  if (znam < 0) znam += mod;
  znam = power(znam, mod - 2);
  cout << (((res * chi) % mod) * znam) % mod;
  return 0;
}
