numinum

Time limit: 0.06s Memory limit: 64MB Input: numinum.in Output: numinum.out

Se consideră următoarea structură de date:

  • În vârful structurii se găsește fracția 11\displaystyle \frac{1}{1}.
  • Din fiecare vârf în care se găsește fracția pq\displaystyle \frac{p}{q} se formează alte două fracții trasând câte 2 segmente de dreaptă astfel: către stânga fracția pp+q\displaystyle \frac{p}{p+q} și către dreapta fracția p+qq\displaystyle \frac{p+q}{q}.

Cerință

Cunoscând numărătorul, respectiv numitorul a două fracții ireductibile diferite din structură, determinați numărul minim de segmente de dreaptă cu care putem conecta în structura dată, cele două fracții.

Date de intrare

Pe prima linie a fişierului de intrare numinum.in se găsește un număr natural NN. Pe fiecare dintre următoarele NN linii se găsesc câte 44 numere naturale xix_i, yiy_i, aia_i, bib_i, despărțite prin câte un spațiu unde xix_i, yiy_i reprezintă numărătorul, respectiv numitorul primei fracții de pe linia i+1i+1, iar aia_i, bib_i reprezintă numărătorul, respectiv numitorul celei de-a doua fracții de pe linia i+1i+1.

Date de ieșire

Fişierul de ieşire numinum.out va conține NN linii. Pe linia ii se va scrie numărul minim de segmente de dreaptă necesare pentru a conecta, pe structura dată, fracția xiyi\displaystyle \frac{x_i}{y_i} cu fracția aibi\displaystyle \frac{a_i}{b_i}.

Restricții și precizări

  • 1N10 0001 \leq N \leq 10 \ 000;
  • 1xi,yi,ai,bi1091 \leq x_i, y_i, a_i, b_i \leq 10^9;

Exemplu

numinum.in

1
4 3 2 5

numinum.out

6

Explicație

N=1N = 1, x1=4x_1 = 4, y1=3y_1 = 3, a1=2a_1 = 2, b1=5b_1 = 5.

Pentru a conecta fracția 43\frac{4}{3} cu fracția 25\frac{2}{5}, avem nevoie de minim 66 segmente, după cum urmează:

43131211212325\frac{4}{3} \rightarrow \frac{1}{3} \rightarrow \frac{1}{2} \rightarrow \frac{1}{1} \rightarrow \frac{2}{1} \rightarrow \frac{2}{3} \rightarrow \frac{2}{5}

Log in or sign up to be able to send submissions!