Marks and Spencer's 'perfect' £39.50 dress comes in three prints and colours