#include<iostream>
using namespace std;
// 定义数组最大长度:1e6+10(100万+10),满足题目中n的范围需求
// 1e6是常见的大数据范围,+10是为了避免数组越界
const int N=1e6+10;
// 定义全局数组a,类型为long long:原因是前缀和可能会溢出int
long long a[N];
int main()
{
    int n,k;
    cin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    // 计算前缀和数组
    for(int i=1;i<=n;i++)
    {
        a[i] = a[i] + a[i-1];  
    }
    for(int i=1;i<=k;i++)
    {
        // l:查询区间的左端点;r:查询区间的右端点
        int l,r;
        cin>>l>>r;
        // 前r项前缀和 - 前l-1项前缀和
        cout<<a[r]-a[l-1]<<endl;
    }
    return 0;
}