O(A(n,n)