만드는 중입니다

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

슬론의 식

시간 제한1초메모리 제한64 MB

요약
x에 대한 일차식을 해석해 식의 값을 M으로 나눈 나머지가 P가 되는 가장 작은 음이 아닌 x를 구합니다.
난이도

보통10점 중 6점

유형
정수론, 수학, 스택
정답자
아직 제출이 없습니다

문제

슬론은 수업 시간에 한시도 가만히 있지 못하는 학생이다. 선생님은 슬론을 얌전히 앉혀 두려고 어려운 산술 문제를 냈다.

선생님이 산술식 AA와 두 정수 PP, MM을 준다. 슬론은 다음 질문에 답해야 한다. AA를 MM으로 나눈 나머지가 PP가 되는 변수 xx의 값 중 가장 작은 음이 아닌 값은 얼마인가? 답은 항상 존재한다.

AA에 분배법칙을 적용해 전개해도 xx와 xx가 서로 곱해지는 항은 생기지 않는다. 즉 AA는 xx에 대한 일차 이하의 식이다.

식의 값이 음수일 수도 있으므로, 나머지는 항상 00 이상 MM 미만인 값으로 정의한다.

올바른 식의 예는 5+x*(3+2), x+3*x+4*(5+3*(2+x-2*x))이다. 올바르지 않은 식의 예는 5*(3+x*(3+x)), x*(x+x*(1+x))이다.

입력

첫째 줄에 식 AA가 주어진다 (1≤∣A∣≤100 0001 \le |A| \le 100\,000).

둘째 줄에 두 정수 PP와 MM이 주어진다 (0≤P≤M−10 \le P \le M - 1, 1≤M≤1 000 0001 \le M \le 1\,000\,000).

AA는 문자 +, -, *, (, ), x와 숫자 0부터 9까지로만 이루어진다. 괄호는 항상 짝을 이룬다. +, -, *는 항상 두 값에 적용되므로 (-5)나 (4+-5) 같은 식은 나오지 않는다. 곱셈은 모두 명시적으로 쓰므로 4(5)나 2(x) 같은 식도 나오지 않는다.

출력

조건을 만족하는 가장 작은 음이 아닌 xx의 값을 한 줄에 출력한다.

힌트

AA가 5+3+x이고 PP가 99, MM이 1010인 경우를 보자. x=0x = 0이면 나머지가 88이고 x=1x = 1이면 나머지가 99이므로, 답은 11이다.

예제3

  1. 예제 1

    입력
    5+3+x
    9 10
    
    예상 출력
    1
    
  2. 예제 2

    입력
    20+3+x
    0 5
    
    예상 출력
    2
    
  3. 예제 3

    입력
    3*(x+(x+4)*5)
    1 7
    
    예상 출력
    1