input: def Matrix_Operations(m1, n1, lst1, m2, n2, lst2, operation):
      """Implement a class in Python to perform various matrix operations like addition, subtraction, multiplication, and transpose.
      The class should be initialized with the dimensions of the matrix and its elements. 
      The operations should modify the original matrix and return None.
      
      Example:
      >>> m1 = 2
      >>> n1 = 2
      >>> lst1 = [1, 2, 3, 4]
      >>> m2 = 2
      >>> n2 = 2
      >>> lst2 = [5, 6, 7, 8]
      >>> operation = 'add'
      >>> Matrix_Operations(m1, n1, lst1, m2, n2, lst2, operation)
      '1 2 \n3 4 \n + 5 6 \n7 8 \n = 6 8 \n10 12 \n'
      
      >>> operation = 'mul'
      >>> Matrix_Operations(m1, n1, lst1, m2, n2, lst2, operation)
      '1 2 \n3 4 \n * 5 6 \n7 8 \n = 19 22 \n43 50 \n'
      """
output:     if operation == 'add':
          if m1 != m2 or n1 != n2:
              return "Matrices dimensions do not match for addition."
          result = [lst1[i] + lst2[i] for i in range(len(lst1))]
          return '\n'.join([
              ' '.join(map(str, lst1[:n1])),
              ' '.join(map(str, lst1[n1:])),
              ' + ' + ' '.join(map(str, lst2[:n1])),
              ' '.join(map(str, lst2[n1:])),
              ' = ' + ' '.join(map(str, result[:n1])),
              ' '.join(map(str, result[n1:]))
          ])
      
      elif operation == 'mul':
          if n1 != m2:
              return "Matrices dimensions do not match for multiplication."
          result = []
          for i in range(m1):
              for j in range(n2):
                  sum = 0
                  for k in range(n1):
                      sum += lst1[i * n1 + k] * lst2[k * n2 + j]
                  result.append(sum)
          return '\n'.join([
              ' '.join(map(str, lst1[:n1])),
              ' '.join(map(str, lst1[n1:])),
              ' * ' + ' '.join(map(str, lst2[:n2])),
              ' '.join(map(str, lst2[n2:])),
              ' = ' + ' '.join(map(str, result[:n2])),
              ' '.join(map(str, result[n2:]))
          ])
      
      elif operation == 'transpose':
          result = [lst1[i * n1 + j] for j in range(n1) for i in range(m1)]
          return '\n'.join([
              ' '.join(map(str, lst1[:n1])),
              ' '.join(map(str, lst1[n1:])),
              ' transpose = ' + ' '.join(map(str, result[:m1])),
              ' '.join(map(str, result[m1:]))
          ])
      
      else:
          return "Invalid operation."