#include #include #include #include #include #include using namespace std; int main() { int tests; for (assert(scanf("%d", &tests) == 1 && 1 <= tests && tests <= 10); tests --;) { int n; assert(scanf("%d", &n) == 1 && 1 <= n && n <= 100000); vector data; for (int i = 0; i < n; ++ i) { int x; assert(scanf("%d", &x) == 1 && 1 <= x && x <= 1000000000); if (data.size() == 0 || x >= data.back()) { data.push_back(x); } else { int index = upper_bound(data.begin(), data.end(), x) - data.begin(); data[index] = x; } } printf("%d", data.size()); for (int i = 0; i < data.size(); ++ i) { printf(" %d", data[i]); } puts(""); } return 0; }