QOJ.ac

QOJ

حد الوقت: 3.0 s حد الذاكرة: 256 MB مجموع النقاط: 100 قابلة للهجوم ✓

#17678. Две фишки

الإحصائيات

Busy Beaver бросил программирование и решил заняться современным искусством!

У Busy Beaver есть два жетона с краской. Он хочет раскрасить неориентированный граф следующим образом:

  • Изначально все вершины не раскрашены. Сначала Busy Beaver помещает один жетон на вершину 1, а другой — на вершину 2.
  • Затем он перемещает жетоны вдоль ребер графа; когда вершина оказывается под жетоном, она становится раскрашенной. (Заметьте, что вершины 1 и 2 изначально считаются раскрашенными.)
  • Если можно раскрасить все вершины так, чтобы два жетона никогда не находились в вершинах, соединенных ребром, в любой момент процесса, то такой граф называется художественным.

Найдите количество художественных неориентированных графов с $N$ вершинами. Поскольку ответ может быть большим, выведите его по модулю простого числа $P$.

Входные данные

Единственная строка каждого теста содержит два целых числа $N$ и $P$ ($2 \le N \le 5000$; $5 \cdot 10^8 < P < 10^9$). $P$ — простое число.

Выходные данные

Выведите количество художественных неориентированных графов с $N$ вершинами по модулю $P$.

Примеры

Входные данные 1

2 799999999

Выходные данные 1

1

Входные данные 2

3 998244853

Выходные данные 2

2

Входные данные 3

1984 998244853

Выходные данные 3

424428556

Примечание

В первом тестовом примере граф с двумя вершинами и без ребер является единственным художественным графом.

Во втором тестовом примере первые два графа ниже являются художественными. Последний граф не является художественным, так как невозможно раскрасить вершину 3.

Иллюстрация к примеру 2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.