func_code_string: #include <bits/stdc++.h>   using namespace std;   ifstream fin( abc.in );   string str[2];   long long let[26][500001];   long long a, b, sum, m;   long long gcd(long long a, long long b) {     if (b == 0)       return a;     else       return gcd(b, a % b);   }   int main() {     cin >> a >> b;     cin >> str[0] >> str[1];     long long len_mx = str[1].size(), len_mn = str[0].size(), i, j, dif_len;     int p = 1;     if (str[0].size() > str[1].size())       p = 0, len_mx = str[0].size(), len_mn = str[1].size();     dif_len = str[p].size() - str[1 - p].size();     long long cmmmc = len_mx * len_mn / gcd(len_mx, len_mn);     m = a / (cmmmc / str[0].size());     long long cmmdc = gcd(len_mn, len_mx);     long long sx = 0;     if (dif_len == 0) {       for (i = 0; i < len_mx; i++)         if (str[0][i] != str[1][i]) sx += m;     } else {       for (i = 0; i < len_mx; i++) {         char c = str[p][i];         let[(long)(c -  a )][i % cmmdc]++;       }       for (i = 0; i < len_mn; i++) {         char c = str[1 - p][i];         sx += m * (str[p].size() / cmmdc - let[c -  a ][i % cmmdc]);       }     }     cout << sx;     return 0;   }   