https://practice.geeksforgeeks.org/problems/next-permutation/0