"""
Skippable if out of time, hot to define ones own objects.
"""

from __future__ import annotations

class MyVector(list):
    a = 0

    def __init__(self, dim: int, data: list):
        if dim != len(data):
            raise ValueError("Wrong dimensions in the vector!!!")
        self.dim = dim
        self.data = data
    
    def __add__(self, other: MyVector):
        if self.dim != other.dim:
            return None
        else:
            return MyVector(self.dim, [a + b for a, b in zip(self.data, other.data)])
    
    def __repr__(self):
        return "A vector of dimension {} with data:\n{}".format(self.dim, self.data)


a = MyVector(3, [1, 2, 3])
b = MyVector(3, [-1, -4, 8])

print(a)
print(b)

print(a + b)