>>105897678
O(n!)