#include <bits/stdc++.h>
using namespace std;
long long int pow(long long int a, long long int b, long long int M) {
  long long int x = 1, y = a;
  while (b > 0) {
    if (b % 2 == 1) {
      x = (x * y);
      if (x > M) x %= M;
    }
    y = (y * y);
    if (y > M) y %= M;
    b /= 2;
  }
  return x;
}
long long int modInverse(long long int a, long long int m) {
  return pow(a, m - 2, m);
}
long long POW(long a, long b) {
  if (b == 0) return 1;
  if (b == 1) return a % 1000000007;
  long long ans = POW(a, b / 2) % 1000000007;
  ans = (ans % 1000000007 * ans % 1000000007) % 1000000007;
  if (b % 2 != 0) ans *= a % 1000000007;
  return ans % 1000000007;
}
int main() {
  ios_base ::sync_with_stdio(false);
  int n;
  string str;
  cin >> str;
  cin >> n;
  n--;
  long long r = POW(2, str.size());
  long long ans = 0;
  for (int i = 0; i < str.size(); i++)
    if (str[i] == '5' || str[i] == '0')
      ans += (POW(2, i) % 1000000007 * (POW(r, n + 1) - 1) % 1000000007 *
              modInverse(r - 1, 1000000007) % 1000000007) %
             1000000007;
  cout << ans % 1000000007;
  return 0;
}
