O(n) * O(log(n)) * O(log(n))