Canonical solution