#include <bits/stdc++.h>
using namespace std;
#define TASK "test"
#define ll long long
#define fi first
#define sc second
#define ii pair <int, int>
#define rep(i,s,e) for (int i = (s), _e = (e); i <= _e; i++)
#define reo(i,s,e) for (int i = (s), _e = (e); i >= _e; i--)
#define all(v) (v).begin(),(v).end()
const int maxn = 1e5 + 5;
const int mod = 1e9 + 7;
const int inf = 1e9;
int n, m;
int a[maxn], pos[maxn];
ll cnt[maxn];
signed main ()
{
cin.tie(0)->sync_with_stdio(false);
if (fopen(TASK".inp","r"))
{
freopen(TASK".inp","r",stdin);
freopen(TASK".out","w",stdout);
}
cin >> n >> m;
rep (i, 1, n) cin >> a[i];
rep (i, 1, m)
{
int x; cin >> x;
pos[x] = i;
}
cnt[0] = 1;
rep (i, 1, n)
{
int x = pos[a[i]];
if (x != 0)
cnt[x] += cnt[x - 1];
}
cout << cnt[m];
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIFRBU0sgInRlc3QiCgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Mgc2Vjb25kCiNkZWZpbmUgaWkgcGFpciA8aW50LCBpbnQ+CgojZGVmaW5lIHJlcChpLHMsZSkgZm9yIChpbnQgaSA9IChzKSwgX2UgPSAoZSk7IGkgPD0gX2U7IGkrKykKI2RlZmluZSByZW8oaSxzLGUpIGZvciAoaW50IGkgPSAocyksIF9lID0gKGUpOyBpID49IF9lOyBpLS0pCiNkZWZpbmUgYWxsKHYpICh2KS5iZWdpbigpLCh2KS5lbmQoKQoKY29uc3QgaW50IG1heG4gPSAxZTUgKyA1Owpjb25zdCBpbnQgbW9kID0gMWU5ICsgNzsKY29uc3QgaW50IGluZiA9IDFlOTsKCmludCBuLCBtOwppbnQgYVttYXhuXSwgcG9zW21heG5dOwpsbCBjbnRbbWF4bl07CgpzaWduZWQgbWFpbiAoKQp7CiAgICBjaW4udGllKDApLT5zeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgaWYgKGZvcGVuKFRBU0siLmlucCIsInIiKSkKICAgIHsKICAgICAgICBmcmVvcGVuKFRBU0siLmlucCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuKFRBU0siLm91dCIsInciLHN0ZG91dCk7CiAgICB9CgogICAgY2luID4+IG4gPj4gbTsKICAgIHJlcCAoaSwgMSwgbikgY2luID4+IGFbaV07CiAgICByZXAgKGksIDEsIG0pCiAgICB7CiAgICAgICAgaW50IHg7IGNpbiA+PiB4OwogICAgICAgIHBvc1t4XSA9IGk7CiAgICB9CgogICAgY250WzBdID0gMTsKICAgIHJlcCAoaSwgMSwgbikKICAgIHsKICAgICAgICBpbnQgeCA9IHBvc1thW2ldXTsKICAgICAgICBpZiAoeCAhPSAwKSAKICAgICAgICAgICAgY250W3hdICs9IGNudFt4IC0gMV07CiAgICB9CgogICAgY291dCA8PCBjbnRbbV07CgogICAgcmV0dXJuIDA7Cn0KCgo=