text: we are storing j + 1 because the initial picked index in the recursive step will ne 0. This is just for ease of implementation
code: index [ ord ( a [ i ] [ j ] ) - ord ( ' a ' ) ] . append ( j + 1 ) ; NEW_LINE