// Online C++ compiler to run C++ program online
#include<iostream>
#include<bits/stdc++.h>
#include<vector>
using namespace std;
vector<int> sequence(vector<int> b, int n){
vector<int> ans;
ans.push_back(b[0]);
for(int i=1; i<b.size(); i++){
if(b[i]<b[i-1] && (ans.size()<=2*n)){
if(b[i]==1){
ans.push_back(b[i]);
}
else{
ans.push_back(b[i]-1);
}
ans.push_back(b[i]);
}
else{
ans.push_back(b[i]);
}
}
return ans;
}
int main(){
int t;
cin>> t;
for(int i=0; i<t; i++){
int n;
cin>> n;
vector<int> b(n);
for(int i=0; i<n; i++){
cin>>b[i];
}
vector<int> result = sequence(b, n);
cout<< result.size() << endl;
for(int i=0; i<result.size(); i++){
cout<< result[i] << " ";
}
}
return 0;
}
1154A - Restoring Three Numbers | 750A - New Year and Hurry |
705A - Hulk | 492B - Vanya and Lanterns |
1374C - Move Brackets | 1476A - K-divisible Sum |
1333A - Little Artem | 432D - Prefixes and Suffixes |
486A - Calculating Function | 1373B - 01 Game |
1187A - Stickers and Toys | 313B - Ilya and Queries |
579A - Raising Bacteria | 723A - The New Year Meeting Friends |
302A - Eugeny and Array | 1638B - Odd Swap Sort |
1370C - Number Game | 1206B - Make Product Equal One |
131A - cAPS lOCK | 1635A - Min Or Sum |
474A - Keyboard | 1343A - Candies |
1343C - Alternating Subsequence | 1325A - EhAb AnD gCd |
746A - Compote | 318A - Even Odds |
550B - Preparing Olympiad | 939B - Hamster Farm |
732A - Buy a Shovel | 1220C - Substring Game in the Lesson |