4
#define all(x) begin(x), end(x)5
#include <ext/pb_ds/assoc_container.hpp>6
#include <ext/pb_ds/tree_policy.hpp>7
using namespace __gnu_pbds;8
#define ordered_set tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>12
long long goodTriplets(vector<int> &nums1, vector<int> &nums2) {13
unordered_map<int, int> mapping;19
for (int i = 0; i < nums2.size(); ++i) nums2[i] = mapping[nums2[i]];23
for (int x : nums2) st2.insert(x);26
st2.erase(st2.find(nums2[0]));27
for (int i = 1; i < n - 1; ++i) {28
st2.erase(st2.find(nums2[i]));29
ll less = (ll)st1.order_of_key(nums2[i]);30
ll great = (ll)(((int)st2.size()) - st2.order_of_key(nums2[i]));31
ans += (less * great);