#include <iostream>
#include <algorithm>
#include <vector>
#include <utility>
struct Point
{
Point(int x = 0, int y = 0):
x(x), y(y)
{}
int x, y;
};
std::vector<Point> &&getPoints()
{
std::vector<Point> result;
for (int i = 0; i < 10; ++i) {
result.push_back(Point(i, i));
}
return std::move(result);
}
int main(int argc, char *argv[])
{
auto points = getPoints();
for (Point p: points) {
std::cout << p.x << ' ' << p.y << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dXRpbGl0eT4KCnN0cnVjdCBQb2ludAp7CiAgICBQb2ludChpbnQgeCA9IDAsIGludCB5ID0gMCk6CiAgICAgICAgeCh4KSwgeSh5KQogICAge30KCiAgICBpbnQgeCwgeTsKfTsKCnN0ZDo6dmVjdG9yPFBvaW50PiAmJmdldFBvaW50cygpCnsKICAgIHN0ZDo6dmVjdG9yPFBvaW50PiByZXN1bHQ7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwOyArK2kpIHsKICAgICAgICByZXN1bHQucHVzaF9iYWNrKFBvaW50KGksIGkpKTsKICAgIH0KICAgIHJldHVybiBzdGQ6Om1vdmUocmVzdWx0KTsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewogICAgYXV0byBwb2ludHMgPSBnZXRQb2ludHMoKTsKICAgIGZvciAoUG9pbnQgcDogcG9pbnRzKSB7CiAgICAgICAgc3RkOjpjb3V0IDw8IHAueCA8PCAnICcgPDwgcC55IDw8IHN0ZDo6ZW5kbDsKICAgIH0KICAgIAogICAgcmV0dXJuIDA7Cn0K