#705 B
思路:暴力枚举;
#include<stdio.h>
#include<string.h>
int ai[100010];
int bi[100010];
int ci[100010];
int h,m;
int hh,mm;
int a[]={0,1,5,-1,-1,2,-1,-1,8,-1};
bool cheak()
{
int s1=a[hh%10];
int s2=a[hh/10%10];
int s3=a[mm%10];
int s4=a[mm/10%10];
if(s1==-1||s2==-1||s3==-1||s4==-1)return false;
int s5=s3*10+s4;
int s6=s1*10+s2;
if(s5<h&&s6<m)return true;
else return false;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&h,&m);
scanf("%d:%d",&hh,&mm);
while(!cheak())
{
mm++;
if(mm>=m)mm=0,hh++;
if(hh>=h)hh=0;
}
printf("%02d:%02d\n",hh,mm);
}
return 0;
}