func_code_string: #include <bits/stdc++.h>   using namespace std;   void solve() {     long long int i, j, n, s = 0, c = 0, x, k, y, m, z, ans = 0;     cin >> n >> m;     cin >> x >> z >> y;     vector<long long int> a(n), b(m);     for (i = 0; i < n; i++) {       cin >> a[i];     }     for (i = 0; i < m; i++) {       cin >> b[i];     }     if (n == m) {       for (i = 0; i < n; i++) {         if (a[i] != b[i]) {           cout << -1;           return;         }       }       cout << 0;       return;     }     if (m > n) {       cout << -1;       return;     }     i = 0;     j = 0;     k = 0;     long long int ma = INT_MIN, l;     while (i < n && j < m) {       if (a[i] != b[j]) {         ma = max(ma, a[i]);         i++;       } else {         l = i - k;         if (l == 0) {           i++;           j++;           k = i;           continue;         }         long long int maxel;         if (k > 0) {           maxel = max(a[k - 1], a[i]);         } else {           maxel = a[i];         }         if (l < z) {           if (maxel < ma) {             cout << -1;             return;           }           ans += l * y;         } else {           if (y * z < x && maxel > ma) {             ans += l * y;           } else if (y * z < x) {             l = l - z;             ans += x + l * y;           } else {             long long int rem = l % z;             long long int gro = l / z;             ans += gro * x + rem * y;           }         }         j++;         i++;         k = i;         ma = INT_MIN;       }     }     l = n - k;     for (long long int q = i; q < n; q++) {       ma = max(ma, a[q]);     }     if (l > 0) {       long long int maxel = a[k - 1];       if (l < z) {         if (maxel < ma) {           cout << -1;           return;         }         ans += l * y;       } else {         if (y * z < x && maxel > ma) {           ans += l * y;         } else if (y * z < x) {           l = l - z;           ans += x + l * y;         } else {           long long int rem = l % z;           long long int gro = l / z;           ans += gro * x + rem * y;         }       }       j++;       i++;       k = i;       ma = INT_MIN;     }     cout << ans;   }   int main() {     long long int t;     t = 1;     while (t--) {       solve();       cout <<   n ;     }   }   