적의 적은 나의 친구!
시간 제한2초메모리 제한1024 MB
온라인으로 추가되는 적대 간선이 주어질 때, 각 질의의 사용자 v에 대해 v 적의 적이면서 v의 적이 아니고 v 자신도 아닌 사용자 수를 구합니다.
문제
위니 더 푸가 ВЛесу라는 새 소셜 네트워크에 가입했다. 이 네트워크의 사용자마다 친구 목록과 함께 적 목록이 있다. 적 목록에는 누구든 추가할 수 있지만 다음 조건을 지켜야 한다.
- 사용자 가 사용자 의 적이라고 해서 가 의 적인 것은 아니다.
- 사용자는 자기 자신을 적으로 둘 수 없다.
위니 더 푸는 누가 누구의 적이 되는지 하루 종일 기록했다. 그는 아무도 적의 집에 놀러 가지 않는다고 생각했다. 또 적의 적은 친구이고, 친구를 존중하는 사람이라면 친구의 집에 놀러 가야 한다고 보았다. 위니 더 푸는 사용자 의 친구가 몇 명인지 알고 싶어 한다.
위니 더 푸의 기준에서 사용자 가 사용자 의 친구인 조건은 다음과 같다.
- 는 의 어떤 적의 적이다.
- 는 의 적이 아니다.
어떤 사용자도 자기 자신의 친구가 아니다.
입력
첫 줄에 사용자 수 과 질의 수 이 주어진다 (, ).
다음 개의 줄에는 두 종류의 질의 중 하나가 주어진다.
+ v u: 사용자 가 사용자 를 적으로 등록한다.? v: 위니 더 푸의 기준으로 사용자 의 친구 수를 구한다.
입력은 올바른 것이 보장된다. 사용자가 자기 자신을 적으로 등록하는 경우는 없고, 한 사용자가 다른 사용자의 적이 되는 일은 두 번 이상 일어나지 않는다.
출력
각 ? v 질의에 대해 답을 한 줄에 하나씩 출력한다.