#include <bits/stdc++.h>
#include <algorithm>
using namespace std;
namespace IO{
void setIn(string s) {freopen(s.c_str(), "r", stdin);}
void setOut(string s) {freopen(s.c_str(), "w", stdout);}
void setIO(string s = ""){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
#endif // ONLINE_JUDGE
if (s.size()){
setIn(s+".inp");
setOut(s+".out");
} else{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
#endif // ONLINE_JUDGE
}
}
}
using namespace IO;
namespace Function{
template <typename T1, typename T2> bool amax(T1 &a, T2 b){
if (a < b) {
a = b;
return 1;
}
return 0;
}
template <typename T1, typename T2> bool amin(T1 &a, T2 b){
if (a > b){
a = b;
return 1;
}
return 0;
}
template <typename T> void compress(T &a){
sort(a.begin(), a.end());
a.resize(unique(a.begin(), a.end()) - a.begin());
}
template <typename T1, typename T2, typename T3> int position(T1 Begin, T2 End, T3 val, bool type = 0){
if (type == 0){
return lower_bound(Begin, End, val) - Begin;
}
return upper_bound(Begin, End, val) - Begin;
}
template <typename T> long long sqr(T x) {return 1LL * x * x;}
template <typename T1, typename T2> long long pow_mod(T1 a, T2 b, long long mod = 1){ //a ^ b % mod
if(b == 0){return 1 % mod;}
else{
if(b % 2 == 0){
return sqr(pow_mod(a, b / 2, mod)) % mod;
}else{
return a * (sqr(pow_mod(a, b / 2, mod)) % mod) % mod;
}
}
}
template <typename T1, typename T2> long long GCD(T1 a, T2 b) {return b == 0 ? a : GCD(b, a % b);}
template <typename T1, typename T2> long long LCM(T1 a, T2 b) {return 1LL * a / GCD(a, b) * b;}
}
using namespace Function;
namespace Output{
char End_Of_Stream = '\n';
void print(int x) {cout << x << End_Of_Stream;}
void print(unsigned int x) {cout << x << End_Of_Stream;}
void print(long unsigned int x) {cout << x << End_Of_Stream;}
void print(long long x) {cout << x << End_Of_Stream;}
void print(unsigned long long x) {cout << x << End_Of_Stream;}
void print(float x) {cout << x << End_Of_Stream;}
void print(double x) {cout << x << End_Of_Stream;}
void print(long double x) {cout << x << End_Of_Stream;}
void print(char x) {cout << x << End_Of_Stream;}
void print(const char* x) {cout << x << End_Of_Stream;}
void print(string x) {cout << x << End_Of_Stream;}
void print(bool x) {cout << x << End_Of_Stream;}
template <typename T1, typename T2> void print(pair <T1, T2> a) {cout << a.first << " " << a.second << End_Of_Stream;}
template <size_t sz> void print(bitset<sz> a) {
for(int i = 0; i < sz; i++){
cout << a[i];
}
cout << End_Of_Stream;
}
template <typename T> void write(T x) {print(x);}
template <class T, class... Ts> void write(T t, Ts... ts){
write(t);
write(ts...);
}
template <class T, class... Ts> void print(T t, Ts... ts){
End_Of_Stream = ' ';
write(t, ts...);
cout << '\n';
End_Of_Stream = '\n';
}
template <typename T> void print(T a){
for(auto it : a){
cout << it << " ";
}
cout << "\n";
}
template <typename T> void prints(T a){
for(auto it : a){
print(it);
}
}
template <class T, class... Ts> void prine(T t, Ts... ts){
print(t, ts...);
exit(0);
}
}
using namespace Output;
typedef pair <int, int> pii;
typedef long long ll;
#define fi first
#define se second
const int dx[] = {1, -1, 0, 0};
const int dy[] = {0, 0, 1, -1};
const int dx1[] = {1, -1, 0, 0, -1, 1, -1, 1};
const int dy1[] = {0, 0, 1, -1, -1, -1, 1, 1};
const int INF = 1e9 + 10;
const long long INFL = 1e18 + 1e15;
const long long MOD = 1e9 + 7;
const long long MOD1 = (119 << 23) + 1;
const int N = 2e5 + 5;
int main(){
// setIO();
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n;
cin >> n;
vector<int> vec1(n), vec2(n);
for(int i = 0; i < n; i++){
cin >> vec1[i];
}
for(int i = 0; i < n; i++){
cin >> vec2[i];
}
int cnt = 0;
int id = 0;
for(int i = 0; i < n; i++){
if(vec1[id] == vec2[i]){
id++;
cnt++;
}
}
print(n - cnt);
return 0;
}
1051. Height Checker | 695. Max Area of Island |
402. Remove K Digits | 97. Interleaving String |
543. Diameter of Binary Tree | 124. Binary Tree Maximum Path Sum |
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts | 501A - Contest |
160A- Twins | 752. Open the Lock |
1535A - Fair Playoff | 1538F - Interesting Function |
1920. Build Array from Permutation | 494. Target Sum |
797. All Paths From Source to Target | 1547B - Alphabetical Strings |
1550A - Find The Array | 118B - Present from Lena |
27A - Next Test | 785. Is Graph Bipartite |
90. Subsets II | 1560A - Dislike of Threes |
36. Valid Sudoku | 557. Reverse Words in a String III |
566. Reshape the Matrix | 167. Two Sum II - Input array is sorted |
387. First Unique Character in a String | 383. Ransom Note |
242. Valid Anagram | 141. Linked List Cycle |