D. Шуурхай мессенжер

хугацааны хязгаарлалт 2 секунд

санах ойн хязгаарлалт 256 мегабайт

оролт стандарт оролт

гаралт стандарт гаралт

Хэрэглэгч Айнта "aintalk" хэмээх шинэ шуурхай мессенжер бүтээхээр шийджээ. aintalk-н хэрэглэгч бүр бусад хүмүүстэй чатлаж болно. Хэрэглэгч Айнта энэ зүйлийг хэрэгжүүлэх зарим функцын туршилтын загварыг гаргасан.

  1. login($u$): Хэрэглэгч $u$ aintalk-руу нэвтрээд онлайн болно.
  2. logout($u$): Хэрэглэгч $u$ aintalk-с гараад офлайн болно.
  3. add_friend($u$, $v$): Хэрэглэгч $u$ ба хэрэглэгч $v$ найзууд болно. Энэ нь $u$ ба $v$ хоорондоо ярьж болно гэсэн үг. Найзын харилцаа нь хоёр чиглэлтэй байна.
  4. del_friend($u$, $v$): Хэрэглэгч $u$ ба хэрэглэгч $v$ найзууд биш болно. Энэ нь $u$ ба $v$ хоорондоо ярьж чадахгүй болно гэсэн үг.
  5. count_online_friends($u$): Энэ функц нь хэрэглэгч $u$-н яг одоо онлайн байгаа найзуудын тоог буцаана.   Мессенжерийг $1$-ээс $n$ хүртэл дугаарлагдсан зарим хэрэглэгчдийн дунд туршиж байгаа учраас ямар ч бүртгэлийн арга байхгүй. Энэ нь эхний байдлаар зарим хэрэглэгчид онлайн байж болох бөгөөд зарим хэрэглэгчид найз байж болно.

Хэрэглэгч Айнта эдгээр функцуудыг хийх гэж байгаа боловч мессенжерийг олон нийтэд түгээхээсээ өмнө тэрээр зөв байгаа эсэхийг мэдэхийг хүсэж байна. Түүний кодыг шалгаж Айнтад тусал.

Оролт

Эхний мөр нь зайгаар тусгаарлагдсан $n$, $m$, $q$ ($1 ≤ n ≤ 50000$; $1 ≤ m ≤ 150000$; $1 ≤ q ≤ 250000$) гурван бүхэл тоог агуулна. Эдгээр нь хэрэглэгчийн тоо, хос найзуудын тоо, асуултуудын тоо юм.

Хоёр дахь мөр нь $o$ $(1 ≤ o ≤ n)$ бүхэл тоог агуулах ба энэ нь эхэндээ онлайн байгаа хэрэглэгчдийн тоо. Гурав дахь мөр нь зайгаар тусгаарлагдсан $o$ ширхэг $x_{1}, x_{2}, ..., x_{o}$ ($1 ≤ x_{i} ≤ n$) бүхэл тоонуудаас бүрдэнэ. Эдгээр нь онлайн хэрэглэгчдийн дугаарууд юм. Эдгээр утгууд ялгаатай байна.

Дараагийн $m$ мөр бүр нь зайгаар тусгаарлагдсан $a_{i}$ ба $b_{i}$ ($1 ≤ a_{i}, b_{i} ≤ n; a_{i} ≠ b_{i}$) бүхэл тоонуудыг агуулна. Энэ бол эхэндээ найз байсан хоёр хэрэглэгчийн дугаар. Оролтод өгөгдсөн олон найзын харилцаа байхгүй гэдэг нь баталгаатай байна. Найзын харилцаа нь хоёр чиглэлтэй байхыг анхаараарай.

Дараагийн $q$ мөрүүд дараах хэлбэрээр $q$ асуултуудыг тодорхойлно:

  • "O $u$" ($1 ≤ u ≤ n$) : Call online($u$). Функцыг дуудахаас өмнө $u$ хэрэглэгч офлайн байсан гэдэг нь баталгаатай юм.
  • "F $u$" ($1 ≤ u ≤ n$) : Call offline($u$). Функцыг дуудахаас өмнө $u$ хэрэглэгч онлайн байсан гэдэг нь баталгаатай юм.
  • "A $u$ $v$" ($1 ≤ u, v ≤ n; u ≠ v$) : Call add_friend($u, v$). Функцыг дуудахаас өмнө хоёр хэрэглэгч найз байгаагүй гэдэг нь баталгаатай юм.
  • "D $u$ $v$" ($1 ≤ u, v ≤ n; u ≠ v$) : Call del_friend($u, v$). Функцыг дуудахаас өмнө хоёр хэрэглэгч найз байсан гэдэг нь баталгаатай юм.
  • "C $u$" ($1 ≤ u ≤ n$) : Call count_online_friends($u$) нэг мөрөнд үр дүнг хэвлэнэ.

Гаралт

count_online_friends($u$) асуулт бүрийн шаардлагатай хариултыг нэг мөрөнд хэвлэнэ.

Орчуулсан: Даариймаа

Жишээ тэстүүд

Оролт
5 2 9
1
4
1 3
3 4
C 3
A 2 5
O 1
D 1 3
A 1 2
A 4 2
C 2
F 4
C 2
Гаралт
1
2
1
Сэтгэгдлүүдийг ачааллаж байна...