#include #pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") using namespace std; using ll = long long; ll NO_CNT = 0; set> visited; bool dfs(vector A) { if (A.size() <= 1) return true; if (visited.count(A)) return false; visited.insert(A); ll n = A.size(); for (ll i = 0; i < n; i++) { for (ll j = i + 1; j < n; j++) { ll sum = A[i] + A[j]; // sum が存在するかチェック bool exists = false; for (ll k = 0; k < n; k++) { if (A[k] == sum) { exists = true; break; } } if (!exists) { vector B; for (ll k = 0; k < n; k++) { if (k != i && k != j) B.push_back(A[k]); } if (dfs(B)) return true; } } } return false; } bool solve_TLE(){ ll N; cin >> N; vector A(N); for(ll i = 0; i < N; i++) cin >> A[i]; visited.clear(); return dfs(A); } int main(){ ll T; cin >> T; for(ll i = 0; i < T; i++) cout << (solve_TLE() ? "Yes" : "No") << "\n"; }