#include<stdio.h>
int main()
{
int Windows,Capacity,Num,Queries;
scanf("%d%d%d%d",&Windows,&Capacity,&Num,&Queries);
int T[Num];
int i,j,TotalCapacity;
for(i=0;i<Num;i++)
scanf("%d",&T[i]);
int A[Windows][Num]={},length[Windows]={},CurrentCost[Windows]={},Current[Windows],TotalCost[Windows]={},Finish[Num];
TotalCapacity=Windows*Capacity;
for(i=0,j=0;i<TotalCapacity && i<Num;i++,j=(j+1)%Windows)
{
A[j][i/Windows]=T[i];
length[j]=i/Windows+1;
TotalCost[j]+=T[i];
Finish[i]=TotalCost[j];
}
if(TotalCapacity<Num)
{
for(i=0;i<Windows;i++)
{
CurrentCost[i]=A[i][0];
Current[i]=0;
}
for(i=TotalCapacity;i<Num;i++)
{
int W=0;
for(j=0;j<Windows;j++)
{
if(CurrentCost[j]<CurrentCost[W])
W=j;
}
A[W][length[W]++]=T[i];
TotalCost[W]+=T[i];
Finish[i]=TotalCost[W];
Current[W]++;
CurrentCost[W]+=A[W][Current[W]];
}
}
int Q;
for(i=0;i<Queries;i++)
{
scanf("%d",&Q);
if(Finish[Q-1]-T[Q-1]<540)
{
int hours,minutes;
hours=8+Finish[Q-1]/60;
minutes=Finish[Q-1]%60;
printf("%02d:%02d\n",hours,minutes);
}
else
printf("Sorry\n");
}
return 0;
}