func_code_string: #include <bits/stdc++.h>   using namespace std;   char src[2002], tar[2002];   int ans[2002 * 4], n;   int get(int l, int r, char ch) {     for (int i = l; i <= r; i++)       if (src[i] == ch) return i;     return -1;   }   void reverse(int l, int r) {     for (int i = l; i < r - i + l; i++) swap(src[i], src[r - i + l]);   }   void doswap(int la, int lb) {     reverse(la + lb + 1, n);     reverse(1, n);     reverse(2, n);   }   void work() {     int step = 0;     for (int i = n; i >= 1; i--) {       int p = get(n - i + 1, n, tar[i]);       if (p == -1) {         puts( -1 );         return;       } else {         ans[++step] = n;         ans[++step] = p - 1;         ans[++step] = 1;         doswap(n - i, p - n + i - 1);       }     }     printf( %d n , step);     for (int i = 1; i <= step; i++) printf( %d  , ans[i]);     putchar(  n );   }   int main() {     scanf( %d , &n);     scanf( %s , src + 1);     scanf( %s , tar + 1);     work();     return 0;   }   