만드는 중입니다

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

피터와 교과서

면접 대비

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

요약
페이지 i를 찢으면 n-i+1 페이지도 함께 빠지는 책에서, 남은 페이지를 오름차순으로 나열했을 때 p번째 페이지 번호를 구한다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 구현, 배열
정답자
아직 제출이 없습니다

문제

피터는 오늘 방을 정리하다가 예전에 쓴 영문학 교과서를 찾았다. 이 과목을 좋아하지 않아서 교과서를 해체하기로 마음먹고, 쪽을 하나씩 뜯어내기 시작했다.

교과서는 nn쪽이고 각 쪽에는 1번부터 nn번까지 번호가 붙어 있다. 제본 방식 때문에 ii번 쪽은 n−i+1n - i + 1번 쪽과 같은 낱장에 인쇄되어 있다. 그래서 피터가 어떤 쪽을 뜯어내면 같은 낱장에 있는 다른 쪽도 함께 떨어져 나간다. 피터는 쪽을 하나씩 뜯어내다가 이따금 아직 교과서에 남아 있는 쪽을 번호가 작은 순서로 늘어놓았을 때 pp번째 쪽의 번호가 무엇인지 알고 싶어진다. 피터의 질문에 답하라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 첫째 줄에 테스트 케이스의 수 tt (1≤t≤10001 \le t \le 1000)가 주어진다.

이어서 tt개의 테스트 케이스가 다음 형식으로 주어진다. 각 테스트 케이스의 첫째 줄에는 교과서의 쪽수 nn과 질의의 수 qq가 주어진다 (2≤n≤1002 \le n \le 100, nn은 짝수, 1≤q≤1001 \le q \le 100). 다음 qq개의 줄에는 질의가 한 줄에 하나씩 주어진다.

  • - i: 피터가 ii번 쪽을 뜯어낸다. 같은 낱장에 있는 쪽도 함께 떨어져 나간다.
  • ? p: 남아 있는 쪽 중 pp번째 쪽의 번호를 묻는다.

뜯어내는 질의에서 그 쪽은 아직 교과서에 남아 있고, 번호를 묻는 질의에서 교과서에는 쪽이 pp개 이상 남아 있다.

출력

? 질의마다 해당하는 쪽 번호를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    2
    4 4
    ? 3
    - 2
    ? 2
    ? 1
    6 5
    - 3
    ? 3
    - 1
    ? 2
    ? 1
    
    예상 출력
    3
    4
    1
    5
    5
    2