#include <bits/stdc++.h>
using namespace std;
const long long N = 100000;
long long n, k, cnt;
long long a[N + 7];
long long b[N + 7];
long long ld(long long a, long long b) {
  long long y = 0;
  for (long long i = 0; i < a; ++i) {
    y = 10 * y + 9;
  }
  long long mod = y % b;
  return y - mod;
}
long long fdf(long long a, long long b, long long c) {
  long long x = b;
  for (long long i = 0; i < a - 1; ++i) {
    x *= 10;
  }
  long long mod = x % c;
  if (mod != 0) x = x - mod + c;
  return x;
}
long long ldf(long long a, long long b, long long c) {
  long long y = b;
  for (long long i = 1; i < a; ++i) {
    y = 10 * y + 9;
  }
  long long mod = y % c;
  return y - mod;
}
int main() {
  cin >> n >> k;
  for (long long i = 0; i < n / k; ++i) {
    cin >> a[i];
  }
  for (long long i = 0; i < n / k; ++i) {
    cin >> b[i];
  }
  cnt = 1;
  for (long long i = 0; i < n / k; ++i) {
    cnt *= ((ld(k, a[i]) / a[i]) -
            ((ldf(k, b[i], a[i]) - fdf(k, b[i], a[i])) / a[i])) %
           1000000007;
    cnt %= 1000000007;
  }
  cout << cnt % 1000000007;
}
