Mobiles Alabama

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

문제

Alabama Mobiles Inc.는 모빌(mobile)을 설계하고 제작한다. 모빌은 줄에 매달린 막대들로 이루어진 가벼운 “키네틱 조형물”이다. 각 막대의 양 끝에는 줄이 하나씩 달려 있고, 그 줄에는 작은 장식물이나 또 다른 (더 작은) 모빌이 매달린다. 잘 설계된 모빌은 모든 장식물의 무게가 균형을 이루어 각 막대가 자연스럽게 수평을 유지해야 한다.

막대는 양쪽에 매달린 무게가 서로 달라도 균형을 맞출 수 있다. 줄을 막대에 묶는 지점은 막대를 길이 $L_1$과 $L_2$의 두 부분으로 나누며, 다음을 만족해야 한다.

$$L_1 \times W_1 = L_2 \times W_2$$

여기서 $W_1$은 막대의 $L_1$ 쪽에 매달린 전체 무게이고, $W_2$는 반대쪽에 매달린 전체 무게이다.

부분적으로 주어진 모빌 설계를 읽어, 각 막대에서 줄을 묶어야 하는 지점을 구하는 프로그램을 작성하라.

각 모빌은 막대와 장식물의 모음으로 주어진다. 막대의 길이, 모든 장식물의 무게, 그리고 막대와 장식물이 서로 어떻게 연결되어 있는지가 주어진다. 막대와 연결 줄의 무게는 장식물의 무게에 비해 무시할 수 있을 만큼 가볍다고 가정한다. 모든 모빌은 적어도 하나의 막대를 포함한다.

입력

입력은 여러 개의 모빌 설계로 이루어진다. 각 모빌 설계는 괄호로 둘러싸인 식으로 주어지며, 다음 두 가지 기본 형태로 구성된다.

  1. ( D w ) — 장식물을 나타낸다. $w$는 장식물의 무게를 나타내는 실수이다.
  2. ( B # L m1 m2 ) — 막대를 나타낸다.
    • #는 각 막대를 구분하는 고유한 정수 식별자이다. 식별자는 빽빽하게 부여되어, 막대가 총 $k$개인 모빌은 $1, \dots, k$의 번호를 사용한다. 하나의 식 안에서 이 식별자들이 나타나는 순서는 임의적이다.
    • $L$은 막대의 길이를 나타내는 실수이다.
    • m1m2는 이 막대의 양 끝에 각각 매달린 부분을 나타내는 괄호 식이다.

위 두 형태에서 구성 요소 사이에 공백이 하나 표시된 곳에는, 실제 입력에서 하나 이상의 공백이나 줄바꿈이 올 수 있다. 예외로, ()의 양옆에는 0개 이상의 공백이나 줄바꿈이 올 수 있다.

모든 모빌은 적어도 하나의 막대를 포함한다. 입력의 끝은 ()만 있는 줄로 표시된다.

출력

각 모빌 설계에 대해, 막대의 식별 번호 순서대로 각 막대마다 한 줄씩 출력한다. 각 줄의 형식은 다음과 같다.

Bar N must be tied L from one end.

여기서 $N$은 막대의 식별 번호이고, $L$은 위에서 설명한 두 길이 $L_1$과 $L_2$ 중 더 작은 값이며, 소수점 아래 한 자리까지 출력한다.