class1

Description: 

class row(object):
   def __init__(self,t):
      assert type(t) in[type([]) , type((1,2))]
      self.elements= tuple(t)
     
   def __repr__(self):
      return "row(%s)"% str(self.elements)

   def __mul__(self,s):
      assert type(s) in (type(0),type(0.0))
      return row(tuple([s*x for x in self.elements]))

   def __rmul__(self,s):
      #return self.__mul__(s)
      return self*s
  
   def __len__(self):
      return len(self.elements)

   def __add__(self,other):
      assert len(self)==len(other)
      l=[]
      for i in range(len(self.elements)):
         l.append(self.elements[i]+other.elements[i])
      return row(l)

   def __getitem__(self,k):
      return self.elements[k]