#include #include using namespace std; int search(int x,vector a,int N){ if(x <= a[0]){ return -1; } if(x > a[N-1]){ return N; } int left = 0,right = N-1; int mid; while(1){ mid = (left+right)/2; if(a[mid] >= x){ right = mid; } if(a[mid + 1] < x){ left = mid; } if(a[mid] < x && x <= a[mid+1]){ break; } } return mid; } long get_ans(int N,int p,int x,vector a,vector a_sum){ int n = search(x,a,N); long ans; long temp = ((long)p-(long)n)*(long)x; if(n < p){ ans = a_sum[n+1] + temp; } else { ans = a_sum[p+1]; } return ans; } int main(){ int N,Q; cin >> N >> Q; vector a(N,0); vector a_sum(N+1,0); for(int i=0;i> a[i]; } sort(a.begin(),a.end()); for(int i=0;i> l >> r >> x; cout << get_ans(N,r - 1,x,a,a_sum) << " " << get_ans(N,l - 2,x,a,a_sum) << "\n"; } }