Complexity fixing

Since O(n^2) and O(n^3) are both polynomial time complexities.
Removing O(n^3) and adding O(2^n) as smallest tile.
i.e. before:-    O(n!) -> O(n^2) -> O(n^3)
after update:- O(2^n) -> O(n!) -> O(n^2)