#o(n!)