#include #include #include #include #include #include #include #include #include #include #include #include #define debug_value(x) cerr << "line" << __LINE__ << ":<" << __func__ << ">:" << #x << "=" << x << endl; #define debug(x) cerr << "line" << __LINE__ << ":<" << __func__ << ">:" << x << endl; template inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } using namespace std; typedef long long ll; ll cntr[3001]; ll cntg[3001]; ll cntb[3001]; ll bcumsum[3005]; ll sect_sum(int l, int r){ return bcumsum[r]-bcumsum[l-1]; } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout << setprecision(10) << fixed; int n; cin >> n; for(int i = 0; i < n; i++){ int r; cin >> r; cntr[r]++; } for(int i = 0; i < n; i++){ int g; cin >> g; cntg[g]++; } for(int i = 0; i < n; i++){ int b; cin >> b; cntb[b]++; } for(int i = 1; i <= 3000; i++) bcumsum[i] = bcumsum[i-1]+cntb[i]; ll ans = 0; for(int r = 1; r <= 3000; r++){ for(int g = 1; g <= r; g++){ // r-g+1 <= b <= r ans += sect_sum(r-g+1, r)*cntr[r]*cntg[g]; } } cout << ans << endl; }