#include <bits/stdc++.h>
using namespace std;
int n, tot;
char s[2005], t[2005];
int tot_s[2005], tot_t[2005], ans[2005 << 2];
int main() {
  scanf("%d %s %s", &n, s + 1, t + 1);
  for (int i = 1; i <= n; i++) tot_s[s[i]]++, tot_t[t[i]]++;
  for (int i = 'a'; i <= 'z'; i++)
    if (tot_s[i] != tot_t[i]) return !printf("-1\n");
  int cnt = 0;
  for (int i = 1; i <= n; i++)
    if (s[i] == t[1]) {
      bool flag = 1;
      for (int j = i; j <= n; j++)
        if (s[j] != t[j - i + 1]) {
          flag = 0;
          break;
        }
      if (flag) {
        cnt = n - i + 1;
        break;
      }
    }
  while (1) {
    bool flag = 1;
    for (int i = 1; i <= n; i++)
      if (s[i] != t[i]) {
        flag = 0;
        break;
      }
    if (flag) break;
    int pos;
    for (int i = 1; i <= n - cnt; i++)
      if (s[i] == t[cnt + 1]) {
        pos = i;
        break;
      }
    ans[++tot] = n - pos;
    ans[++tot] = 1;
    ans[++tot] = n - 1;
    if (pos > 1) reverse(s + 1, s + pos);
    char temp = s[pos];
    for (int i = pos; i < n; i++) s[i] = s[i + 1];
    s[n] = temp;
    cnt++;
  }
  printf("%d\n", tot);
  for (int i = 1; i <= tot; i++) printf("%d ", ans[i]);
  return 0;
}
