#include <iostream>
#include <algorithm>
using namespace std;
template<typename>
struct VectorIterator {};
template<typename T>
struct Array {
typedef VectorIterator<T> iterator;
iterator begin() const {
return {};
}
iterator end() const {
return {};
}
};
template<typename T>
void sort(VectorIterator<T>, VectorIterator<T>) {
cout << "my sort" << endl;
}
int main() {
Array<int> array;
sort(array.begin(), array.end());
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKdGVtcGxhdGU8dHlwZW5hbWU+CnN0cnVjdCBWZWN0b3JJdGVyYXRvciB7fTsKCnRlbXBsYXRlPHR5cGVuYW1lIFQ+CnN0cnVjdCBBcnJheSB7CgogICB0eXBlZGVmIFZlY3Rvckl0ZXJhdG9yPFQ+IGl0ZXJhdG9yOwoKICAgaXRlcmF0b3IgYmVnaW4oKSBjb25zdCB7CiAgICAgIHJldHVybiB7fTsKICAgfQogICBpdGVyYXRvciBlbmQoKSBjb25zdCB7CiAgICAgIHJldHVybiB7fTsKICAgfQp9OwoKCnRlbXBsYXRlPHR5cGVuYW1lIFQ+CnZvaWQgc29ydChWZWN0b3JJdGVyYXRvcjxUPiwgVmVjdG9ySXRlcmF0b3I8VD4pIHsKICAgY291dCA8PCAibXkgc29ydCIgPDwgZW5kbDsKfQoKCmludCBtYWluKCkgewogICBBcnJheTxpbnQ+IGFycmF5OwogICBzb3J0KGFycmF5LmJlZ2luKCksIGFycmF5LmVuZCgpKTsKfQo=