mercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimercimerci