value struct point:
    x: i32
    y: i32

func (position point) move(dx: i32, dy: i32):
    position.x += dx
    position.y += dy

func (position point) distance_squared() -> i32:
    return position.x * position.x + position.y * position.y

func entry(steps: i32) -> i32:
    var cursor = point(x = 0, y = 0)
    cursor.move(steps, steps)
    const final_position = cursor
    return final_position.distance_squared()
