- -body simulations are an important modeling tool in physicsastronomyand chemistry in this projectyou are to write program that performs simple nbody simulation called "jumping leprechauns this simulation involves leprechaunsnumbered to it maintains gold value for each leprechaun iwhich begins with each leprechaun starting out with million dollars worth of goldthat isg for eachi , , in additionthe simulation also maintainsfor each leprechaun ia place on the horizonwhich is represented as double-precision floating point numberx in each iteration of the simulationthe simulation processes the leprechauns in order processing leprechaun during this iteration begins by computing new place on the horizon for iwhich is determined by the assignment - rg where is random floating-point number between - and leprechaun then steals half the gold from the nearest leprechauns on either side of him and adds this gold to his gold valueg write program that can perform series of iterations in this simulation for given numbernof leprechauns try to include visualization of the leprechauns in this simulationincluding their gold values and horizon positions you must maintain the set of horizon positions using an ordered dictionary data structure described in this - extend class binarysearchtree (code fragments to support the methods of the ordered dictionary adt (see section - implement class restructurablenodebinarytree that supports the methods of the binary tree adtplus method restructure for performing rotation operation this class is component of the implementation of an avl tree given in section - write java class that implements all the methods of the ordered dictionary adt (see section using an avl tree - write java class that implements all the methods of the ordered dictionary adt (see section using ( , tree