Ukraine president calls snap elections