class Solution {
public:
    int InversePairs(vector<int> data) {
        vector<int>::iterator it;
        vector<int> nd(1,data[0]);
        int p=0;
        for(int i=1;i<data.size();i++){
            for(it=nd.begin();it!=nd.end();it++){
                if(data[i]<*it){
                    p+=(nd.end()-it);
                    p%=1000000007;
                    nd.insert(it,data[i]);
                    break;
                }
            }
            if(nd.size()<=i){
                nd.push_back(data[i]);
            }
        }
        return p;
    }
};