#include <iostream>
using namespace std;
template <typename T> class Array {
private:
T* ptr;
int size;
public:
Array(T arr[ ],int s);
void print( );
};
template <typename T> Array <T>:: Array(T arr[ ],int s)
{
ptr = new T[s];
size = s;
for(int i=0; i<size; i++)
ptr[i] = arr[i];
}
template <typename T> void Array<T>:: print()
{
for(int i=0; i<size; i++)
cout<<" "<<*(ptr+i);
cout<<endl;
}
int main()
{
int arr[5] = {1,2,3,4,5};
Array<int> a(arr,5);
a.print( );
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEFycmF5IHsKcHJpdmF0ZToKICAgICAgICBUKiBwdHI7CiAgICAgICAgaW50IHNpemU7CnB1YmxpYzoKICAgICAgICBBcnJheShUIGFyclsgXSxpbnQgcyk7CgkgICAgdm9pZCBwcmludCggKTsKfTsKCnRlbXBsYXRlIDx0eXBlbmFtZSBUPiBBcnJheSA8VD46OiBBcnJheShUIGFyclsgXSxpbnQgcykKewogIHB0ciA9IG5ldyBUW3NdOwogIHNpemUgPSBzOwogIGZvcihpbnQgaT0wOyBpPHNpemU7IGkrKykKICAgICAgcHRyW2ldID0gYXJyW2ldOwp9Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBBcnJheTxUPjo6IHByaW50KCkKewoJZm9yKGludCBpPTA7IGk8c2l6ZTsgaSsrKQoJICAgY291dDw8IiAiPDwqKHB0citpKTsKCSAgIAoJICAgY291dDw8ZW5kbDsKfQoKIGludCBtYWluKCkgCiB7CiAgIGludCBhcnJbNV0gPSB7MSwyLDMsNCw1fTsKICAgIEFycmF5PGludD4gIGEoYXJyLDUpOwogICAgYS5wcmludCggKTsKICAgIHJldHVybiAwOwogfQ==