Definitely Margaret. It has a beautiful meaning and I like the nicknames Meg and Greta. Mary and John are the most boring names of all time, they've completely lost their beauty. Mary is just so empty and lifeless. Maybe in a few decades it will sound fresh again. Maybe.