{"problem":{"name":"L. Лишние вопросы","description":{"content":"У Стива появилось достаточно много вопросов. Пожалуй, он хотел бы, чтобы их задали менеджерам Quantum Artificial Intelligence.  Стив полагает, что составил вопросы таким образом, что на каждый из них","description_type":"Markdown"},"platform":"Codeforces","limit":{"time_limit":2000,"memory_limit":262144},"difficulty":"None","is_remote":true,"is_sync":true,"sync_url":null,"sign":"CF10126L"},"statements":[{"statement_type":"Markdown","content":"У Стива появилось достаточно много вопросов. Пожалуй, он хотел бы, чтобы их задали менеджерам Quantum Artificial Intelligence. \n\nСтив полагает, что составил вопросы таким образом, что на каждый из них можно ответить либо «Да», либо «Нет», либо «Без комментариев». \n\nСтив хочет, чтобы вопросы были заданы в определённой последовательности. Кроме того, по его мнению, на некоторые вопросы он может получить ответ косвенно. Для таких вопросов он определил _вопросы-предпосылки_. \n\nПусть для вопроса #j предпосылками являются вопросы с номерами k1, k2, ..., kmj (все номера меньше j). Если к моменту, когда подойдёт очередь задавать вопрос #j, более чем на половину вопросов-предпосылок будет получен ответ «Да», Стив не станет задавать этот вопрос, а просто отметит, что ответом на него также было «Да». Аналогично, если более чем на половину вопросов-предпосылок будет получен ответ «Нет», Стив также не станет задавать этот вопрос и отметит, что ответом на этот вопрос было «Нет». В любом другом случае Стив задаст этот вопрос. \n\nКогда Стив анализирует ответы на вопросы-предпосылки, для него не важно, как именно были получены ответы на эти вопросы — непосредственно от менеджеров или же в результате его собственных логических построений. \n\nВ параллельной вселенной даром предвидения наделён не только Стив, но и менеджеры Quantum Artificial Intelligence. Поэтому они уже знают, как ответят на каждый из вопросов.\n\nЕсли Стив решил не задавать какой-либо вопрос и сформировал ответ на него самостоятельно, то даже если ответ Стива не совпадает с (возможным) ответом менеджеров, он учитывает именно «свой» ответ.\n\nВаша задача — определить, сколько вопросов задаст Стив и какие это будут вопросы. \n\nВ первой строке содержатся целые числа n и p (1 ≤ n ≤ 1000,  0 ≤ p ≤ n - 1) — общее количество вопросов и количество вопросов, имеющих вопросы-предпосылки. \n\nВо второй строке содержится последовательность из n символов Y, N, C, означающих соответственно ответы «Да», «Нет», «Без комментариев».\n\nДалее следуют p строк, каждая из которых описывает по одному вопросу с его предпосылками в следующем формате: номер j вопроса (1 ≤ j ≤ n), имеющего предпосылки, их количество mj (1 ≤ mj ≤ j - 1), и собственно номера самих вопросов-предпосылок k1, k2, ..., kmj (1 ≤ k1 < k2... < kmj < j,  mj < j). \n\nГарантируется, что каждый номер вопроса встречается в описаниях не более одного раза.\n\nВ первой строке выведите единственное целое число — количество вопросов, которые задаст Стив.\n\nВо второй строке выведите номера этих вопросов в порядке возрастания.\n\n## Входные Данные\n\nВ первой строке содержатся целые числа n и p (1 ≤ n ≤ 1000,  0 ≤ p ≤ n - 1) — общее количество вопросов и количество вопросов, имеющих вопросы-предпосылки. Во второй строке содержится последовательность из n символов Y, N, C, означающих соответственно ответы «Да», «Нет», «Без комментариев».Далее следуют p строк, каждая из которых описывает по одному вопросу с его предпосылками в следующем формате: номер j вопроса (1 ≤ j ≤ n), имеющего предпосылки, их количество mj (1 ≤ mj ≤ j - 1), и собственно номера самих вопросов-предпосылок k1, k2, ..., kmj (1 ≤ k1 < k2... < kmj < j,  mj < j). Гарантируется, что каждый номер вопроса встречается в описаниях не более одного раза.\n\n## Выходные Данные\n\nВ первой строке выведите единственное целое число — количество вопросов, которые задаст Стив.Во второй строке выведите номера этих вопросов в порядке возрастания.\n\n## Пример\n\nВходные данные8 5YNCNCYNY2 1 17 2 1 64 3 1 2 35 2 2 48 2 3 5Выходные данные41 3 6 8\n\n[samples]","is_translate":false,"language":"English"},{"statement_type":"Markdown","content":"**Definitions**  \nLet $ n \\in \\mathbb{Z}^+ $ be the total number of questions.  \nLet $ p \\in \\mathbb{Z}_{\\geq 0} $ be the number of questions with prerequisites.  \nLet $ A = (a_1, a_2, \\dots, a_n) $ be the sequence of manager answers, where $ a_j \\in \\{Y, N, C\\} $ for $ j \\in \\{1, \\dots, n\\} $.  \nLet $ P = \\{ (j, K_j) \\mid j \\in J \\} $ be the set of questions with prerequisites, where $ J \\subseteq \\{1, \\dots, n\\} $, $ |J| = p $, and for each $ j \\in J $, $ K_j = \\{k_1, k_2, \\dots, k_{m_j}\\} \\subset \\{1, \\dots, j-1\\} $ is the set of prerequisite question indices.  \n\n**Constraints**  \n1. $ 1 \\leq n \\leq 1000 $  \n2. $ 0 \\leq p \\leq n - 1 $  \n3. For each $ (j, K_j) \\in P $: $ 1 \\leq m_j = |K_j| < j $, and $ \\max(K_j) < j $  \n4. Each question index appears as a prerequisite in at most one $ K_j $  \n\n**Objective**  \nSimulate Steve’s question-asking process in order $ j = 1 $ to $ n $:  \n- For each question $ j $:  \n  - If $ j \\notin J $ (no prerequisites), Steve asks it.  \n  - If $ j \\in J $:  \n    - Let $ D_j $ = number of prerequisites in $ K_j $ with answer $ Y $  \n    - Let $ N_j $ = number of prerequisites in $ K_j $ with answer $ N $  \n    - If $ D_j > \\lfloor m_j / 2 \\rfloor $, Steve infers answer $ Y $ and skips asking.  \n    - Else if $ N_j > \\lfloor m_j / 2 \\rfloor $, Steve infers answer $ N $ and skips asking.  \n    - Otherwise, Steve asks the question.  \n- Let $ Q \\subseteq \\{1, \\dots, n\\} $ be the set of questions Steve **actually asks**.  \n\nOutput:  \n1. $ |Q| $  \n2. The elements of $ Q $ in ascending order.","is_translate":false,"language":"Formal"}],"meta":{"iden":"CF10126L","tags":[],"sample_group":[],"created_at":"2026-03-03 11:00:39"}}