#include using namespace std; using ll=long long; template< typename T > struct BinaryIndexedTree { vector< T > data; BinaryIndexedTree(int sz) { data.assign(++sz, 0); } T sum(int k) { T ret = 0; for(++k; k > 0; k -= k & -k) ret += data[k]; return (ret); } void add(int k, T x) { for(++k; k < data.size(); k += k & -k) data[k] += x; } }; int main() { ll N; cin >> N; vector A(N),B(N); for(int i=0;i> A[i]; } unordered_map Bmp; for(int i=0;i> B; Bmp[B] = i; } unordered_map revA; for(int i=0;i bit(N+5); for(int i=0;i