#include <vector>
#include <array>
using namespace std;
template<typename T, template<typename, typename = std::allocator<T>> class U>
struct container
{
U<T> storage;
};
template<typename T, typename> using arr2 = array<T, 2>;
int main() {
container<int, vector> a;
container<double, arr2> b;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGFycmF5Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVCwgdGVtcGxhdGU8dHlwZW5hbWUsIHR5cGVuYW1lID0gc3RkOjphbGxvY2F0b3I8VD4+IGNsYXNzIFU+CnN0cnVjdCBjb250YWluZXIKewoJVTxUPiBzdG9yYWdlOwp9OwoKdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWU+IHVzaW5nIGFycjIgPSBhcnJheTxULCAyPjsKCmludCBtYWluKCkgewoJY29udGFpbmVyPGludCwgdmVjdG9yPiBhOwoJY29udGFpbmVyPGRvdWJsZSwgYXJyMj4gYjsKfQ==