#include <bits/stdc++.h>
using namespace std;
const int maxn = 100010;
int a[maxn], b[maxn];
const int mod = 1e9 + 7;
int paw(int a, int b) {
  if (!b) return 1;
  long long ans = paw(a, b / 2);
  ans = ans * ans % mod;
  if (b & 1) ans = ans * a % mod;
  return ans;
}
int calc(int a, int b, int k) {
  int ans = 0;
  ans += (paw(10, k) - 1) / a + 1;
  long long p = paw(10, k - 1);
  if (!b)
    ans -= (p - 1) / a + 1;
  else
    ans -= (((b + 1) * p - 1) / a - (b * p - 1) / a);
  return ans;
}
int main() {
  int n, k;
  scanf("%d%d", &n, &k);
  for (int i = 0; i < n / k; i++) scanf("%d", a + i);
  for (int i = 0; i < n / k; i++) scanf("%d", b + i);
  long long ans = 1;
  for (int i = 0; i < n / k; i++) {
    ans *= calc(a[i], b[i], k);
    ans %= mod;
  }
  cout << ans << endl;
  return 0;
}
