#include <iostream>
using namespace std;
template<typename T, size_t N>
ostream& operator<< (ostream& outA, T (& arr)[N]) {
outA << arr[0];
T (&next)[N-1] = reinterpret_cast<T(&)[N-1]>(arr[1]);
outA << next;
return outA;
}
template<typename T>
ostream& operator<< (ostream& outA, T (& arr)[1]) {
outA << arr[0];
return outA;
}
int main() {
int a[] = {1, 2, 3, 4};
cout << a;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IE4+Cm9zdHJlYW0mIG9wZXJhdG9yPDwgKG9zdHJlYW0mIG91dEEsIFQgKCYgYXJyKVtOXSkgewoJb3V0QSA8PCBhcnJbMF07CglUICgmbmV4dClbTi0xXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8VCgmKVtOLTFdPihhcnJbMV0pOwoJb3V0QSA8PCBuZXh0OwoJcmV0dXJuIG91dEE7Cn0KCnRlbXBsYXRlPHR5cGVuYW1lIFQ+Cm9zdHJlYW0mIG9wZXJhdG9yPDwgKG9zdHJlYW0mIG91dEEsIFQgKCYgYXJyKVsxXSkgewoJb3V0QSA8PCBhcnJbMF07CglyZXR1cm4gb3V0QTsKfQoKaW50IG1haW4oKSB7CgkKCWludCBhW10gPSB7MSwgMiwgMywgNH07CgkKCWNvdXQgPDwgYTsKCQoJcmV0dXJuIDA7Cn0=