<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def insert(self, index, value):
 		"""Insert value at index. 		Args: 			index (int):
 Index to insert value at 			value: Value to insert 		Raises: 			ValueError: If value already in self 			IndexError: If start or end are out of range 		"""

		if value in self:
			raise ValueError
		index = self._fix_neg_index(index)
		self._dict[value] = index
		for elem in self._list[index:]:
			self._dict[elem] += 1
		self._list.insert(index, value)