{"trustable":false,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript type\u003d\"text/javascript\" async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS_HTML-full\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003e\nИма $n$ работници во компанијата на Саше. Секој работник припаѓа на некој оддел. На почетокот, секој човек работи на свој сопствен проект во својот оддел (значи, на почетокот, компанијата има $n$ оддели, по еден работник во секој оддел).\n\u003c/p\u003e\n\u003cp\u003eБидејќи, економијата е лоша во последниве неколку години, Саше решил да назначи менаџер за кризи, чија задача е да го обнови работниот процес за да ја зголеми ефикасноста. Ќе го користиме терминот $team(person$ за да преставиме оддел во кои работи работникот $person$. Менаџерот на кризи може да донесе два вида на одлуки: \n\u003col\u003e\n\u003cli\u003eМоже да спои два оддели $team(x)$ и $team(y)$ во еден поголем оддел кои ќе ги содржи сите работници во одделите $team(x)$ и $team(y)$, каде $x$ и $y$ ($1 \\le x, y \\le n$) - се броеви кои претставуваат двајца работници во компанијата.\u003c/li\u003e\n\u003cli\u003eМоже да ги спои одделите $team(x), team (x+1), \\ldots, team(y)$ каде $x$ и $y$ ($1 \\le x \\le y \\le n$) - некој интервал на оддели во компанијата на Саше.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/p\u003e\n\u003cp\u003eИсто така менаџерот на кризи по некогаш се запрашувал дали работниците $x$ и $y$ работат во ист оддел.\u003c/p\u003e\n\u003cp\u003eПомогнете му на менаџерот, така што ќе ги одговорите сите прашанки.\u003c/p\u003e"}},{"title":"Влез","value":{"format":"HTML","content":"\u003cp\u003eПрвата линија содржи два цели броеви $n$ и $q$ ($1 \\le n \\le 2 \\cdot 10^5, 1 \\le q \\le 5 \\cdot 10^5$) - бројот на работници и бројот на прашанки кои менаџерот ги има.\u003c/p\u003e\n\u003cp\u003eСледните $q$ линии ги претставуваат прашанките. Секоја прашанка се состои од $type, x, y$, каде $type \n \\subset {1, 2, 3}$. Ако $type \u003d 1$ или $type \u003d 2$, тогаш прашанката претставува некоја одлука на менаџерот за спојување на оддели (соодветно). Ако $type \u003d 3$, тогаш ваша задача е да проверите дали работникот $x$ и работникот $y$ работат во истиот оддел во компанијата. Може да се случи $x \u003d y$ во прашанките.\u003c/p\u003e"}},{"title":"Излез","value":{"format":"HTML","content":"\u003cp\u003eЗа секоја прашанка со $type \u003d 3$, отпечатете $YES$ или $NO$, во зависност, дали работниците работат во истиот оддел.\u003c/p\u003e"}},{"title":"Пример","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eВлез:\u003c/th\u003e\n \u003cth\u003eИзлез:\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e8 6\n3 2 5\n1 2 5\n3 2 5\n2 4 7\n2 1 2\n3 1 7\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003eNO\nYES\nYES\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n"}}]}