input: 
  def VersionControl(lines: List[str]):
      """ Implement a basic version control system in Python that keeps track of 
      changes in the code. The system should have the following functionalities:
      1. A `commit` method that adds the current state of the code to a log file.
      2. A `restore` method that restores the code to a previous version based on 
      the commit mark.
      >>> vc = VersionControl(['print("Hello")', 'print("World")'])
      >>> vc.commit()
      >>> vc.lines.append('print("!")')
      >>> vc.commit()
      >>> vc.lines.pop()
      >>> vc.commit()
      >>> vc.restore()
      >>> vc.lines
      ['print("Hello")', 'print("World")', 'print("!")']
      """
  
output:     
      def __init__(self, lines: List[str]):
          self.lines = lines
          self.log = []
  
      def commit(self):
          self.log.append(self.lines[:])
  
      def restore(self, mark: int = -1):
          if self.log:
              self.lines = self.log[mark][:]
  