#include long long int a[200005]; long long int cnt[200005]; void solve() { long long int n; scanf("%lld", &n); long long int i; for (i = 0; i < n; i++) scanf("%lld", &a[i]); if (n == 1) { if (a[0] > 0) printf("%lld\n", a[0]); else printf("1\n"); return; } long long int min, mid, max; min = 0; max = n + 1; long long int m; while (max - min > 1) { mid = (max + min) / 2; for (i = 0; i < mid; i++) cnt[i] = 0; for (i = 0; i < n; i++) { if (a[i] < mid) cnt[a[i]]++; else cnt[0]++; } m = 1; for (i = mid - 1; i > 0; i--) { if (cnt[i] > m) cnt[0] += cnt[i] - m; else m += m - cnt[i]; } if (cnt[0] < m) max = mid; else min = mid; } printf("%lld\n", min); return; } int main() { int T; scanf("%d", &T); for (; T > 0; T--) solve(); return 0; }