Optimal Algorithm
Output