#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mid (l + ((r - l) / 2))
#define F first
#define S second
void solve()
{
int64_t n, m, x, y, r, z, p = 1 ;
cin >> n ;
vector<int64_t> a(n), b(n) ;
for(auto &it : a) cin >> it ;
for(auto &it : b) cin >> it ;
vector<int64_t> c = a, d = b ;
sort(c.begin() , c.end()), sort(d.begin() , d.end()) ;
if(c != d)
{
cout << -1 << endl;
return ;
}
reverse(a.begin() , a.end()) ;
if(a == b)
{
cout << 1 << endl;
for(int64_t i = 1 ; i <= n ; i++) cout << "1 " ;
cout << endl;
for(int64_t i = 1 ; i <= n ; i++) cout << "1 " ;
cout << endl;
return ;
}
reverse(a.begin() , a.end()) ;
cout << 2 << endl;
for(int64_t i = 0 ; i < n ; i++) cout << a[i] << ' ' ;
cout << endl;
for(int64_t i = 0 ; i < n ; i++) cout << b[i] << ' ' ;
cout << endl;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int tt = 1 ;
//cin >> tt;
while (tt--) solve() ;
}