נתונים גרף מכוון $G$ בעל $n$ קודקודים ו-$\boldsymbol{n-1}$ קשתות מכוונות, ומספר שלם חיובי $k$ שאינו גדול מ-$n$. מובטח שכאשר מתייחסים לכל הקשתות של $G$ כאל קשתות לא מכוונות, הגרף קשיר (כלומר יוצר עץ).
יש לבצע $q$ פעולות. קיימים חמישה סוגי פעולות, עם הפרמטרים הבאים:
1 x y: הפוך את כיוון הקשת שבין הקודקודים $x$ ו-$y$. מובטח שקיימת קשת בין הקודקודים $x$ ו-$y$;2 a: הפוך את הכיוון של כל הקשתות הנכנסות לקודקוד $a$;3 b: הפוך את הכיוון של כל הקשתות היוצאות מהקודקוד $b$;4 c: הפוך את הכיוון של כל הקשתות הנכנסות לקודקוד $c$ והיוצאות ממנו;5 p: שנה את ערכו של $k$ ל-$p$.
קשת נכנסת לקודקוד $u$ היא קשת מכוונת המסתיימת ב-$u$, וקשת יוצאת מהקודקוד $u$ היא קשת מכוונת המתחילה ב-$u$.
עליך לתחזק את הגרף המכוון הזה, ולפני הפעולה הראשונה ואחרי כל פעולה לקבוע האם כל הקודקודים מלבד $k$ יכולים להגיע לקודקוד $k$ לאורך הקשתות המכוונות הנוכחיות. אם כן, הדפס YES; אחרת, הדפס NO.
קלט
השורה הראשונה מכילה שלושה מספרים שלמים $n,k,q$ ($2 \le n \le 10^6$, $0 \le q \le 10^6$, $1 \le k \le n$).
כל אחת מ-$n-1$ השורות הבאות מכילה שני מספרים שלמים חיוביים $u_i,v_i$, המציינים קשת בין הקודקודים $u_i$ ו-$v_i$: קשת מכוונת מהקודקוד $u_i$ לקודקוד $v_i$ ($1 \le u_i,v_i \le n$).
כל אחת מ-$q$ השורות הבאות מכילה $2\sim3$ מספרים שלמים חיוביים המתארים פעולה אחת. המשמעות והפורמט מופיעים בתיאור הבעיה לעיל ($1 \le x,y,a,b,c,p \le n$).
מובטח שכאשר מתייחסים לכל הקשתות של $G$ כאל קשתות לא מכוונות, הגרף קשיר (כלומר יוצר עץ), ושבעת ביצוע פעולה מהסוג הראשון קיימת קשת בין הקודקודים $x$ ו-$y$.
פלט
הדפס בסך הכול $q+1$ שורות. לפני הפעולה הראשונה ואחרי כל פעולה, קבע האם כל הקודקודים מלבד $k$ יכולים להגיע לקודקוד $k$ לאורך הקשתות המכוונות הנוכחיות. אם כן, הדפס YES; אחרת, הדפס NO.
דוגמאות
קלט 1
10 10 10 9 10 1 5 3 9 8 9 4 9 7 9 5 4 2 10 6 7 4 5 3 2 3 1 1 10 2 1 5 1 1 4 5 5 4 2 9 1 9 3 2 9
פלט 1
YES NO NO NO NO NO YES NO NO NO NO
קלט 2
10 4 10 8 9 2 4 10 5 9 4 3 2 1 2 5 4 6 4 7 8 1 2 1 1 2 1 5 10 1 5 4 1 10 5 3 4 1 5 4 5 2 1 5 10 1 4 5
פלט 2
YES NO YES NO NO YES NO YES NO NO NO