A * algorithm complete