<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def append(self, observation, action, reward, terminal, training=True):
 """Append an observation to the memory # Argument observation (dict):
 Observation returned by environment action (int):
 Action taken to obtain this observation reward (float):
 Reward obtained by taking this action terminal (boolean):
 Is the state terminal """
 
        super(SequentialMemory, self).append(observation, action, reward, terminal, training=training)
        
        # This needs to be understood as follows: in `observation`, take `action`, obtain `reward`
        # and weather the next state is `terminal` or not.
        if training:
            self.observations.append(observation)
            self.actions.append(action)
            self.rewards.append(reward)
            self.terminals.append(terminal)