import io:*; obj Vec2 { var x: int; var y: int; fun print(): void { print(x); print(" "); print(y); } fun add(other: Vec2): Vec2 { var toReturn: Vec2; toReturn.x = x + other.x; toReturn.y = y + other.y; print(); return toReturn; } fun subtract(other: Vec2): Vec2 { var toReturn: Vec2; toReturn.x = x - other.x; toReturn.y = y - other.y; print(); return toReturn; } fun operator+(other: Vec2): Vec2 { return add(other); } }; fun operator-(lhs: Vec2, rhs: Vec2): Vec2 { return lhs.subtract(rhs); } fun main(): int { var vector1: Vec2; var vector2: Vec2; 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(); */ var addition: Vec2 = vector1 + vector2; print("\n"); addition.print(); print("\nSubtraction\n"); vector2.x = 100; vector2.y = 70; var subtraction: Vec2 = vector1 - vector2; print("\n"); print(subtraction.x); print(" "); print(subtraction.y); print("\n"); return 0; }