import io; typedef Vec2 { int x; int y; void print() { print(x); print(" "); print(y); } Vec2 add(Vec2 other) { Vec2 toReturn; toReturn.x = x + other.x; toReturn.y = y + other.y; print(); return toReturn; } Vec2 subtract(Vec2 other) { Vec2 toReturn; toReturn.x = x - other.x; toReturn.y = y - other.y; print(); return toReturn; } Vec2 operator+(Vec2 other) { return add(other); } }; Vec2 operator-(Vec2 lhs, Vec2 rhs) { return lhs.subtract(rhs); } int main() { Vec2 vector1; Vec2 vector2; vector1.x = 3; vector1.y = 9; vector2 = vector1; /* NOTE COMMENT Vec2 vector3; vector3.x = vector1.x + vector2.x; vector3.y = vector1.y + vector2.y; vector2.print(); */ Vec2 addition = vector1 + vector2; print("\n"); addition.print(); print("\nSubtraction\n"); vector2.x = 100; vector2.y = 70; Vec2 subtraction = vector1 - vector2; print("\n"); print(subtraction.x); print(" "); print(subtraction.y); print("\n"); return 0; }