Олимпиадный тренинг

Задача . A. C+=


Лео создал новый язык программирования C+=. В C+= целочисленные переменные можно изменять только операцией «+=», которая прибавляет значение справа к переменной слева. Например, если выполнить «a += b», когда a = \(2\), b = \(3\), значение a станет равно \(5\) (значение b при этом не изменится).

Лео создал программу-прототип с двумя целочисленными переменными a и b, исходно содержащими некоторые положительные значения. Он может выполнить некоторое количество операций «a += b» или «b += a». Лео хочет протестировать обработку больших целых чисел, поэтому ему нужно сделать значение a либо b строго больше, чем некоторое данное число \(n\). Какое наименьшее количество операций ему необходимо выполнить?

Входные данные

В первой строке записано одно целое число \(T\) (\(1 \leq T \leq 100\)) — количество наборов входных данных.

Каждая из следующих \(T\) строк описывает один набор входных данных и содержит три целых числа \(a, b, n\) (\(1 \leq a, b \leq n \leq 10^9\)) — исходные значения a и b, и значение, которое одна из переменных должна превысить, соответственно.

Выходные данные

Для каждого набора входных данных выведите наименьшее необходимое количество операций. Разделяйте ответы переводами строк.

Примечание

В первом наборе входных данных мы не сможем за одну операцию записать значение, большее \(3\), ни в какую переменную. Один из способов сделать это за две операции — выполнить «b += a» дважды.


Примеры
Входные данныеВыходные данные
1 2
1 2 3
5 4 100
2
7

time 2000 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя