Which one is more important in helping your polish stay on longer?

Oh and if you want to suggest a brand that would be great too!

I have been using China Glaze or OPI with a china glaze topcoat but it only lasts a few days - wondering if something better was out there?