Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Encontre as 3 cidades com o maior comparecimento a programas de arte diversificados (artes visuais, artes cênicas, literatura)
 ###Tabelas: 
CREATE TABLE cities (id INT, name VARCHAR(255)); CREATE TABLE programs (id INT, name VARCHAR(255)); CREATE TABLE attendances (city_id INT, program_id INT); INSERT INTO cities (id, name) VALUES (1, 'CityA'), (2, 'CityB'), (3, 'CityC'); INSERT INTO programs (id, name) VALUES (1, 'Visual Arts'), (2, 'Performing Arts'), (3, 'Literature'); INSERT INTO attendances (city_id, program_id) VALUES (1, 1), (1, 2), (1, 3), (2, 1), (2, 3), (3, 1);
SELECT c.name, COUNT(a.program_id) AS attendance FROM cities c JOIN attendances a ON c.id = a.city_id JOIN programs p ON a.program_id = p.id WHERE p.name IN ('Visual Arts', 'Performing Arts', 'Literature') GROUP BY c.name ORDER BY attendance DESC LIMIT 3