Triangle groups, finite simple groups and applications