#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const int N=100010;
const int INF=0x3f3f3f3f;
int n,q;
int t;
int ans,ansl,ansr;
struct P{
int sum,pos;
}a[N];
bool cmp(P x,P y){
return x.sum<y.sum;
}
void solve(){
int l=0,r=1;
int mn=INF;
while(r<=n){
int g=a[r].sum-a[l].sum;
if(abs(g-t)<=mn){
mn=abs(g-t);
ans=g;
ansl=a[l].pos;
ansr=a[r].pos;
}
if(g>t) l++;
if(g<t) r++;
if(l==r) r++;
if(g==t) break;
}
if(ansl>ansr) swap(ansl,ansr);
printf("%d %d %d\n",ans,ansl+1,ansr);
}
int main(){
//freopen("in.txt","r",stdin);
scanf("%d%d",&n,&q);
while(n!=0&&q!=0){
int s=0;
a[0].sum=0,a[0].pos=0;
for(int i=1;i<=n;i++){
int x;scanf("%d",&x);
s+=x;
a[i].sum=s;
a[i].pos=i;
}
sort(a,a+1+n,cmp);
for(int i=0;i<q;i++){
scanf("%d",&t);
solve();
}
scanf("%d%d",&n,&q);
}
return 0;
}