#1108. How can I find you

How can I find you

题目描述

『 S_zhi 』和他的好基友住在一个房屋呈树形的街区中,他们每天都要在房屋之间来回穿梭,他们都很聪明,从一个房屋到另外一个房屋时他们都会走最短的那条路。现在『 S_zhi 』想要知道,他有没有可能会在某个地方与他的好基友相遇。

输入格式

第一行,两个正整数 n,qn,q (1≤n,q≤105)(1 \leq n,q \leq 10^5),表示这个街区房屋的数量和穿梭的次数。

接下来 n−1n−1 行,每行两个正整数 uu 和 vv,表示房屋 uu 到房屋 vv 之间有一条路。

接下来 qq 行,每行四个正整数 a,b,c,da , b , c , d ,分别表示『 S_zhi 』要从 aa 到 bb ,他的好基友从 cc 到 dd,也就是一次穿梭

输出格式

对于每次穿梭,如果『 S_zhi 』可以和好基友相遇,输出 Y ,否则输出 N

样例输入输出

5 5
2 5
4 2
1 3
1 4
5 1 5 1
2 2 1 4
4 1 3 4
3 1 1 5
3 5 1 4
Y
N
Y
Y
Y

样例解释

  • 第一次穿梭不必解释
  • 第二次穿梭『 S_zhi 』从22到22,好基友从11到44,路径没有交叉,不可能相遇,输出 N
  • 第三次穿梭『 S_zhi 』从44到11,好基友从33到44,都经过44,因此可能会在44相遇,输出 Y
  • 第四次穿梭『 S_zhi 』从33到11,好基友从11到55,都经过11,因此可能会在11相遇,输出 Y
  • 第五次穿梭『 S_zhi 』从33到55,好基友从11到44,都经过11和44,因此可能会在44和11相遇,输出 Y