/*
输入int数据n,再输入两个长度为n的int数组,存储子串,不重复存储,计算存储次数。
例如:
第一行输入:3
第二行输入:1 2 3
第三行输入:3 2 1。
则进行了9次存储,
分别为[1], [2], [3], [1,2], [2,3], [1,2,3], [3,2], [2,1], [3,2,1]。
输出为:9
*/
#include <iostream>
#include<vector>
#include<set>
using namespace std;
int main() {
int n; // 输入n
cin >> n;
vector<int> a1(n); // 输入a1
for (int i = 0; i < n; i++) {
cin >> a1[i];
}
vector<int> a2(n); // 输入a2
for (int i = 0; i < n; i++) {
cin >> a2[i];
}
set<vector<int>> substring_set; //用set集合存储,重复内容只存一份
for (int len = 1; len <= n; len++) { // 遍历子串长度
for (int i = 0; i <= n - len; i++) { // 遍历子串开始位置
vector<int> substring_vec1; //用vector容器存储元素,且包含顺序
vector<int> substring_vec2;
for (int j = i; j < i + len; j++) { // 遍历取出字符
substring_vec1.push_back(a1[j]);
substring_vec2.push_back(a2[j]);
}
substring_set.insert(substring_vec1); // 子串放入集合
substring_set.insert(substring_vec2);
}
}
cout << substring_set.size() << endl; // 输出大小,即集合内个数
return 0;
}