EU agrees to buy 300 million doses of anti-corona vaccine