#include <bits/stdc++.h>
using namespace std;
int main() {
  int alr[26];
  for (int i = 0; i < 26; i++) {
    alr[i] = 0;
  }
  int n;
  cin >> n;
  int* s = new int[n];
  int* s2 = new int[n];
  int* t = new int[n];
  for (int i = 0; i < n; i++) {
    char c;
    cin >> c;
    c -= 'a';
    alr[c]++;
    s[i] = c;
  }
  for (int i = 0; i < n; i++) {
    char c;
    cin >> c;
    c -= 'a';
    alr[c]--;
    if (alr[c] < 0) {
      cout << "-1" << endl;
      return 0;
    }
    t[i] = c;
  }
  cout << (n * 3) << endl;
  for (int i = 0; i < n; i++) {
    if (i > 0) {
      cout << " ";
    }
    int lc = -1;
    for (int j = 0; j < n; j++) {
      if (s[j] == t[i]) {
        lc = j;
        break;
      }
    }
    int sn = n - lc - 1;
    cout << sn << " ";
    int cl = 0;
    int ol = n - 1;
    for (int j = 0; j < sn; j++) {
      s2[cl] = s[ol];
      ol--;
      cl++;
    }
    ol = 0;
    while (cl < n) {
      s2[cl] = s[ol];
      cl++;
      ol++;
    }
    for (int j = 0; j < n; j++) {
      s[j] = s2[j];
    }
    sn = 1;
    cout << sn << " ";
    cl = 0;
    ol = n - 1;
    for (int j = 0; j < sn; j++) {
      s2[cl] = s[ol];
      ol--;
      cl++;
    }
    ol = 0;
    while (cl < n) {
      s2[cl] = s[ol];
      cl++;
      ol++;
    }
    for (int j = 0; j < n; j++) {
      s[j] = s2[j];
    }
    sn = n;
    cout << sn;
    cl = 0;
    ol = n - 1;
    for (int j = 0; j < sn; j++) {
      s2[cl] = s[ol];
      ol--;
      cl++;
    }
    ol = 0;
    while (cl < n) {
      s2[cl] = s[ol];
      cl++;
      ol++;
    }
    for (int j = 0; j < n; j++) {
      s[j] = s2[j];
    }
  }
  cout << endl;
  cin >> n;
}
