func_code_string: #include <bits/stdc++.h>   using namespace std;   int k;   string n, m;   int a[1001], b[1001], ns, ms;   int fs, ss;   int lcm(int, int);   int gcd(int, int);   int main() {     cin >> k >> n >> m;     ns = n.size();     ms = m.size();     for (int i = 0; i < ns; i++) {       a[i] = (n[i] ==  R  ? 0 : (n[i] ==  P  ? 1 : 2));     }     for (int i = 0; i < ms; i++) {       b[i] = (m[i] ==  R  ? 0 : (m[i] ==  P  ? 1 : 2));     }     int q = 0, p = 0, l = lcm(ns, ms);     for (int i = 0; i < l; i++) {       if ((a[q] == 0 && b[p] == 2) || (a[q] == 2 && b[p] == 1) ||           (a[q] == 1 && b[p] == 0))         fs++;       else if (a[q] != b[p])         ss++;       q++, p++;       if (q == ns) q = 0;       if (p == ms) p = 0;     }     fs *= k / l;     ss *= k / l;     p = q = 0;     for (int i = 0; i < k % l; i++) {       if ((a[q] == 0 && b[p] == 2) || (a[q] == 2 && b[p] == 1) ||           (a[q] == 1 && b[p] == 0))         fs++;       else if (a[q] != b[p])         ss++;       q++, p++;       if (q == ns) q = 0;       if (p == ms) p = 0;     }     cout << ss <<     << fs;   }   int lcm(int q, int p) { return q * p / gcd(q, p); }   int gcd(int q, int p) {     if (q > p) {       q += p, p = q - p, q -= p;     }     if (!q) return p;     return gcd(p - q, q);   }   