#include <bits/stdc++.h>
using namespace std;
const int MAX = 100100;
char a[MAX];
long long mod = 1000000007;
long long mpow(long long n, long long p) {
  if (p == 0)
    return 1;
  else {
    long long aux = mpow(n, p / 2);
    aux = (aux * aux) % mod;
    if (p % 2 == 0)
      return aux;
    else
      return (aux * n) % mod;
  }
}
long long inv(long long n) { return mpow(n, mod - 2); }
int main() {
  scanf("%s", a);
  long long k;
  scanf("%lld", &k);
  int n = strlen(a);
  long long pot = 1;
  long long ans = 0;
  for (int i = 0; i < int(n); i++) {
    if (a[i] == '0' || a[i] == '5') ans += pot;
    ans %= mod;
    pot *= 2;
    while (pot > mod) pot -= mod;
  }
  ans = (ans * (mpow(2, 1ll * n * k) - 1 + mod)) % mod;
  ans = (ans * inv(mpow(2, n) - 1 + mod)) % mod;
  printf("%lld\n", ans);
}
