flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor flor