#include<bits/stdc++.h>
using namespace std;
#define gc getchar_unlocked
#define ll long long
#define PI 3.1415926535897932384626
#define pb push_back
//#define mp make_pair
#define F first
#define S second
#define fast ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
typedef pair<int, int> pi;
typedef pair<ll, ll> pl;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<pi> vpi;
typedef vector<pl> vpl;
typedef vector<vi> vvi;
typedef vector<vl> vvl;

const int M=1000000007;
int mir[10];

void solution()
{
    int i, j, k, n, m;
    cin>>n>>m;

    mir[0]=0;
    mir[1]=1;
    mir[2]=5;
    mir[3]=-1;
    mir[4]=-1;
    mir[5]=2;
    mir[6]=-1;
    mir[7]=-1;
    mir[8]=8;
    mir[9]=-1;
    string s;
    cin>>s;

    int min=(s[3]-48)*10+(s[4]-48);
    int hr=(s[0]-48)*10+(s[1]-48);
     

    while(hr<n)
    {
        while(min<m)
        {
            if(mir[min%10]<0 || mir[min/10]<0 || mir[hr%10]<0 || mir[hr/10]<0)
            {
                min++;
                continue;
            }
            int temphr=mir[min%10]*10+mir[min/10];
            int tempmn=mir[hr%10]*10+mir[hr/10];

            if(temphr<n && tempmn<m)
            {
                if(hr<10) cout<<0;
                cout<<hr<<":";
                if(min<10) cout<<0;
                cout<<min<<'\n';
                return;
            }
            min++;
        }
        min=0;
        hr++;
    }

    cout<<"00:00"<<'\n';
}

int main()
{
    int t=1;
    cin>>t;

    while(t--)
    {
        solution();
    }

    return 0;
}