I need to suggest a data structure with memory complexity of O(n) that do the following actions:a.  Init()  initialize an empty data structure. b.  Insert (I,x) -  insert to the i th place the number x. the numbers that were before in i places and after will be one index higher. Complexity:O(logn).c.  Get(i)  return the i element. Complexity:O(logn).d.  multiplyAllBut(down,up)- return the multiply numbers without the numbers that appear between the down and up places. Complexity:O(logn).I thought about AVL tree but I have problems with changeing the indexs. Also, skip-list but it not at the requierd complexity.Thanks. :) 
a question of data structure
data structures