تابع


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۶۴ مگابایت

تابع f(i,j)f(i , j) روی آرایه‌ی aa به طول nn به این شکل تعریف می‌شود:

  1. f(i,i)=aif(i , i) = a_{i}
  2. f(i,j)=max(f(i+1,j),f(i,j1),min(ai,ai+1,...,aj)×(ji+1))(i<j)f(i , j) = max( f(i+1 , j) , f(i , j-1) , min( a_{i} , a_{i+1} , ... , a_{j} ) \times (j-i+1) ) (i<j)

به شما QQ جفت عدد داده می‌شود.

هر جفت دارای دو عدد lil_{i} و rir_{i} است.

مقدار زیر را خروجی دهید:

max(f(l1,r1),f(l2,r2),...,f(lQ,rQ))max( f(l_{1} , r_{1}) , f(l_{2} , r_{2}) , ... , f(l_{Q} , r_{Q}) )

ورودی🔗

در خط اول دو عدد nn و QQ داده می‌شود.

در خط بعدی nn عدد a1a_{1} تا ana_{n} داده می‌شود.

در QQ خط بعدیlil_{i} و rir_{i} به شما داده می‌شود.

1Q,n1 000 0001 \le Q,n \le 1\ 000\ 000

1ai1 000 000 0001 \le a_{i} \le 1\ 000\ 000\ 000

1lirin1 \le l_{i} \le r_{i} \le n

تضمین می‌شود تمام اعداد آرایه aa متمایزند.

خروجی🔗

مقدار خواسته شده را خروجی دهید.

مثال🔗

ورودی‌ نمونه🔗

5 2
1 4 3 5 2
1 3
3 5
Plain text

خروجی‌ نمونه🔗

6
Plain text