#include <bits/stdc++.h>
using namespace std;
template <typename T>
void scanv(vector<T>& v, int n) {
  v.resize(n);
  for (int i = 0; i < n; i++) cin >> v[i];
}
template <typename T>
void scanvv(vector<vector<T> >& v, int n, int m) {
  v.resize(n);
  for (int i = 0; i < n; i++) scanv(v[i], m);
}
vector<int> p, s;
int main() {
  ios_base::sync_with_stdio(false);
  int cs, n, i, j;
  cin >> cs;
  while (cs--) {
    cin >> n;
    scanv(p, n);
    s.clear();
    s.emplace_back(p[0]);
    for (i = 1; i < n; i++) {
      if (p[i] < p[i - 1]) {
        j = i + 1;
        while (j < n && p[j] < p[j - 1]) j++;
        s.emplace_back(p[j - 1]);
        i = j - 1;
      } else {
        j = i + 1;
        while (j < n && p[j] > p[j - 1]) j++;
        s.emplace_back(p[j - 1]);
        i = j - 1;
      }
    }
    cout << s.size() << '\n';
    for (i = 0; i < s.size(); i++) {
      if (i) cout << " ";
      cout << s[i];
    }
    cout << '\n';
  }
  return 0;
}
