easy short efficient clean code
\nclass Solution {\n    typedef long long ll;\n    #define vi(x) vector<x>\npublic:\n    vector<vector<int>> rangeAddQueries(int n, vector<vector<int>>& queries
```\nclass Solution {\n    typedef long long ll;\n    #define vi(x) vector<x>\npublic:\n    vector<vector<int>> rangeAddQueries(int n, vector<vector<int>>& queries) {\n        vi(vi(ll))pre(n, vi(ll)(n)); // prefix\n        for(const auto&q:queries){\n            ll inc=q[1], dec=q[3]+1; // [inc, dec-1] range is marked to be increased\n            for(ll r=q[0];r<=q[2];++r){\n                pre[r][inc]+=1;\n                if(dec<n){\n                    pre[r][dec]-=1;\n                }\n            }\n        }\n        vi(vi(int))ans(n, vi(int)(n));\n        for(ll r=0;r<n;++r){\n            ll off=0; // offset\n            for(ll c=0;c<n;++c){\n                off+=pre[r][c];\n                ans[r][c]=off;\n            }\n        }\n        return ans;\n    }\n};\n```
['C', 'Prefix Sum']