그날의 너

환경 요인의 측정값과 한 번의 연산으로 정의된 복합 요인이 주어질 때, HAPPY에 대한 각 요인의 편미분 값을 기약분수로 계산해 출력한다.

보통6동적 계획법DFS수학재귀아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

사람의 기분은 쉽게 예측할 수 없다. 같은 환경에서도 성격과 경험에 따라 반응이 다르고, 하루 종일 울던 사람이 다음 날 웃기도 한다.

인공지능 시스템을 연구하는 서지수 박사는 다음과 같이 가정한다.

"오늘 한 사람의 행복도에 영향을 준 요인들과 요인 사이의 관계를 안다면, 다음 날의 기분도 예측할 수 있다."

기분에 영향을 주는 요인은 환경적 요인과 복합적 요인으로 나뉜다.

환경적 요인은 관찰을 통해 수치로 측정할 수 있는 요인이다. 그날의 기온, 만난 친구의 수, 수면 시간 등이 그 예이다.

복합적 요인은 서로 다른 두 요인의 연산 결과로 정해지는 요인이다. 예를 들어 학습 만족도 AA가 수업 수 BB와 피로도 CC의 합으로 정해지면 A=B+CA = B + C와 같이 쓴다. 행복도 역시 하나의 복합적 요인으로 볼 수 있다.

오늘 측정된 환경적 요인의 값과 모든 요인 사이의 관계식을 안다고 하자. 이때 각 요인의 행복도에 대한 영향력을 구하려 한다. 영향력이란 행복도를 각 요인으로 편미분한 값, 즉 순간 변화율이다.

예를 들어 행복도 HAPPYHAPPY가 소득 AA와 근무 만족도 BB의 곱 HAPPY=A×BHAPPY = A \times B로 정해지고, 오늘 측정값이 A=17A = 17, B=13B = 13이면 HAPPY=221HAPPY = 221이다. 이때 AA의 영향력은 1313, BB의 영향력은 1717이며, HAPPYHAPPY 자체의 영향력은 11이다.

요인의 종류와 관계식이 주어질 때, 각 요인의 영향력을 계산하는 프로그램을 작성하라.

입력

첫 줄에는 요인의 수 NN이 주어진다. 다음 NN줄에는 각 요인의 정보가 한 줄에 하나씩 주어진다.

  1. 환경적 요인은 {이름} E {측정값} 형식으로 주어진다.
  • 이름은 길이가 20 이하인 알파벳 대문자 문자열이다.
  • 측정값은 절댓값이 20 이하인 정수이다.
  1. 복합적 요인은 {이름} {연산} {피연산자1} {피연산자2} 형식으로 주어진다.
  • 이름은 길이가 20 이하인 알파벳 대문자 문자열이며, 행복도의 이름은 항상 HAPPYHAPPY이다.
  • 두 피연산자는 NN개의 요인 중 서로 다른 두 요인의 이름이며, 좌항과 우항의 순서대로 주어진다.
  • 연산은 AA(덧셈), SS(뺄셈), MM(곱셈), DD(나눗셈) 중 하나이다.

모든 입력은 다음을 만족한다.

  • 모든 요인의 연산 결과와 영향력은 유리수이며, 기약분수로 나타냈을 때 분모는 11억 이하의 자연수이고 분자는 절댓값이 1010억 이하인 정수이다.
  • 복합적 요인이 자기 자신을 피연산자로 삼거나, 계산 과정에서 자기 자신을 순환 참조하지 않는다.
  • 하나의 요인이 두 개 이상의 복합적 요인의 피연산자로 등장하지 않는다.

출력

요인의 이름을 사전순으로 정렬하여 총 NN줄을 출력한다. 각 줄은 {이름} {영향력} 형식이다.

  • 영향력은 기약분수 형태로 출력한다. 예를 들어 MONEYMONEY의 영향력이 0.25-0.25이면 MONEY -1/4와 같이 출력한다.
  • 행복도에 전혀 영향을 주지 않는 요인의 영향력은 00이며, 0/1과 같이 출력한다.

힌트

두 번째와 세 번째 공개 테스트 케이스는 작은 하위 과제에서는 등장하지 않는다.