#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; bool rcmp(int a, int b) { return a>b; } typedef long long LL; typedef struct { int h, i, j; } RNode; class mypcmp { public: bool operator()(const RNode& a, const RNode& b) { return a.h, mypcmp> q; for (i=0; igx[j]) gg[j]=i; else gg[i]=j; c--; t=bb[c-1]; t*=xt.h; t%=MOD; r+=t; r%=MOD; } q.pop(); } printf("%lld\n", r); return 0; }