5. The cats are all tagged with RFID chips and when they get close to sensors spread around the lounge area, a coordinate gets logged. A Coord is a methodless data object with two public fields: x and y. We use the Coord objects to plot where cats like to go on a 2D (top-down) heatmap so we do not consider the z-axis at this time. Define a static function heardingCats(). which consumes two parameters: a LinkedList < Coord > of the last known whereabouts of all of the cats as well as a Coord of interest and produces the Coord in the linked list that is closest in distance to the second parameter. The x and y value can be negative. If an empty list of Coords is given, then produce null. In the case of a tie, produce the coord that occurs later in the list. While coords are expressed as 2 integers for x and y, the distance between them is better expressed as a double. Be mindful of integer divion (you may want to cast to a double somehow). Use the Math library. 6. The goats are all on a strict diet since they keep trying to eat the sensor wires. We periodically measure them and check if there needs to be any changes. Define a static function goatBloat(). which consumes three arguments two ArrayList < Double > representing the current weight of each goat and the target weight of each goat in grams, and then a single double representing the amount of error tolerance we are willing to accept in grams. Produce an int which represents how many goats are outside (exclusive) of the error tolerance of their target weight (either because they are too heavy or too light). If the lengths of the lists are uneven, then only compare through the length of the shorter list (ignore the rest of the longer list) If a current weight or target weight is <=0, skip this pair of numbers..