#include <iostream>
#include <random>
#include <fstream>
#include <iterator>
#include <algorithm>
#include <cassert>
#include <iomanip>
#include <ctime>

using namespace std;
const int MOD = 998244353;
#define LL long long
// LL seed = chrono::steady_clock::now().time_since_epoch().count();
// mt19937_64 rng(seed);
// #define rand(l, r) uniform_int_distribution<LL>(l, r)(rng)
// clock_t start = clock();

#define getchar getchar_unlocked

namespace IO {
long long readInt(char endd) {
    long long ret = 0;
    char c = getchar();
    while (c != endd) {
        ret = (ret * 10) + c - '0';
        c = getchar();
    }
    return ret;
}
long long readInt(long long L, long long R, char endd) {
    long long ret = readInt(endd);
    assert(ret >= L && ret <= R);
    return ret;
}
long long readIntSp(long long L, long long R) {
    return readInt(L, R, ' ');
}
long long readIntLn(long long L, long long R) {
    return readInt(L, R, '\n');
}
string readString(int l, int r, char endd = '\n') {
    string ret = "";
    char c = getchar();
    while (c >= '0' && c <= '9') {
        ret += c;
        c = getchar();
    }
    assert(c == endd);
    assert((int)ret.size() >= l && (int)ret.size() <= r);
    return ret;
}
}
using namespace IO;

const int TMAX = 1000;
const int NMAX = 1000;

int sum = 0;
void solve() {
    int D = readIntLn(1, NMAX);
    string s = readString(D, D);
    int n = s.size();
    assert(n == D);
    sum += n;
    for (auto c : s) assert(c >= '0' && c <= '9');
    assert(s[0] != '0');
    for (int i=0;i<n;++i) if (s[i] == '0' || s[i] == '5') {
        cout << "Yes\n";
        return;
    }
    cout << "No\n";
    // cerr << "assertion ok\n";
}

int main() {
    int T = readIntLn(1, TMAX);
    while (T--) solve();
    assert(sum <= NMAX);
    assert(getchar() == EOF);
    cerr << fixed << setprecision(10);
    // cerr << (clock() - start) / ((long double)CLOCKS_PER_SEC) << " secs\n";
    return 0;
}