//My algorithm is as follows:
//1. if n==1 return 8
//2. if(n>=2) we need not change any digit if already the number is divisible by 8. we can change the digit in one’s place as per ten’s place digit. Thus max required changes are one.
include <bits/stdc++.h>
using namespace std;
define ll long long int
int main()
{
ll t;
cin >> t;
while (t–)
{
int n;
cin >> n;
string s;
cin >> s;
if (s.length() == 1)
{
cout << 8 << endl;
}
else if (s.length() == 2 || (s.length() > 2 && (s[n - 3] - '0') % 2 == 0))
{
if (s[n - 2] == '0')
{
if (s[n - 1] != '0')
{
s[n - 1] == '8';
}
}
else if (s[n - 2] == '1')
s[n - 1] = '6';
else if (s[n - 2] == '2')
s[n - 1] = '4';
else if (s[n - 2] == '3')
s[n - 1] = '2';
else if (s[n - 2] == '4')
{
if (s[n - 1] != '0')
{
s[n - 1] = '8';
}
}
else if (s[n - 2] == '5')
s[n - 1] = '6';
else if (s[n - 2] == '6')
s[n - 1] = '4';
else if (s[n - 2] == '7')
s[n - 1] = '2';
else if (s[n - 2] == '8')
{
if (s[n - 1] != '0')
{
s[n - 1] = '8';
}
}
else if (s[n - 2] == '9')
{
s[n - 1] = '6';
}
cout << s << endl;
}
else
{
if (s[n - 2] == '0')
{
s[n - 1] = '4';
}
else if (s[n - 2] == '1')
s[n - 1] = '2';
else if (s[n - 2] == '2')
{
if (s[n - 1] != '0')
{
s[n - 1] = '8';
}
}
else if (s[n - 2] == '3')
s[n - 1] = '6';
else if (s[n - 2] == '4')
{
s[n - 1] = '4';
}
else if (s[n - 2] == '5')
s[n - 1] = '2';
else if (s[n - 2] == '6')
{
if (s[n - 1] != '0')
{
s[n - 1] = '8';
}
}
else if (s[n - 2] == '7')
s[n - 1] = '6';
else if (s[n - 2] == '8')
{
s[n - 1] = '4';
}
else if (s[n - 2] == '9')
{
s[n - 1] = '2';
}
cout << s << endl;
}
}
// your code goes here
return 0;
}