#include <bits/stdc++.h>
using namespace std;
int power(int a, int b, int c) {
  long long x = 1, y = a;
  while (b > 0) {
    if (b % 2 == 1) {
      x = (x * y) % c;
    }
    y = (y * y) % c;
    b /= 2;
  }
  return x % c;
}
long long int gcd(long long int a, long long int b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
int dp[26][1 << 21];
int main() {
  long long int n, m;
  string str1, str2;
  memset(dp, 0, sizeof(dp));
  long long int ans = 0, i;
  cin >> n >> m;
  cin >> str1 >> str2;
  long long int g = gcd(int((str1).size()), int((str2).size()));
  for (i = 0; i < int((str1).size()); i++) {
    dp[str1[i] - 'a'][i % g]++;
  }
  for (i = 0; i < int((str2).size()); i++) {
    ans += dp[str2[i] - 'a'][i % g];
  }
  ans = int((str2).size()) * m - ans * gcd(n, m);
  cout << ans << endl;
  return 0;
}
