Hard version

NEXT