만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

적의 적은 나의 친구!

시간 제한2초메모리 제한1024 MB

요약
온라인으로 추가되는 적대 간선이 주어질 때, 각 질의의 사용자 v에 대해 v 적의 적이면서 v의 적이 아니고 v 자신도 아닌 사용자 수를 구합니다.
난이도

쉬움10점 중 3점

유형
그래프, 해시맵
정답자
아직 제출이 없습니다

문제

위니 더 푸가 ВЛесу라는 새 소셜 네트워크에 가입했다. 이 네트워크의 사용자마다 친구 목록과 함께 적 목록이 있다. 적 목록에는 누구든 추가할 수 있지만 다음 조건을 지켜야 한다.

  1. 사용자 vv가 사용자 uu의 적이라고 해서 uu가 vv의 적인 것은 아니다.
  2. 사용자는 자기 자신을 적으로 둘 수 없다.

위니 더 푸는 누가 누구의 적이 되는지 하루 종일 기록했다. 그는 아무도 적의 집에 놀러 가지 않는다고 생각했다. 또 적의 적은 친구이고, 친구를 존중하는 사람이라면 친구의 집에 놀러 가야 한다고 보았다. 위니 더 푸는 사용자 vv의 친구가 몇 명인지 알고 싶어 한다.

위니 더 푸의 기준에서 사용자 uu가 사용자 vv의 친구인 조건은 다음과 같다.

  1. uu는 vv의 어떤 적의 적이다.
  2. uu는 vv의 적이 아니다.

어떤 사용자도 자기 자신의 친구가 아니다.

입력

첫 줄에 사용자 수 nn과 질의 수 mm이 주어진다 (1≤n1 \le n, m≤2000m \le 2000).

다음 mm개의 줄에는 두 종류의 질의 중 하나가 주어진다.

  • + v u: 사용자 vv가 사용자 uu를 적으로 등록한다.
  • ? v: 위니 더 푸의 기준으로 사용자 vv의 친구 수를 구한다.

입력은 올바른 것이 보장된다. 사용자가 자기 자신을 적으로 등록하는 경우는 없고, 한 사용자가 다른 사용자의 적이 되는 일은 두 번 이상 일어나지 않는다.

출력

각 ? v 질의에 대해 답을 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    5 5
    + 1 2
    + 2 4
    + 2 5
    + 1 5
    ? 1
    
    예상 출력
    1