B. Цепные дроби
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Цепной дробью высоты n называется дробь вида . Вам даны два рациональных числа, одно представлено в виде , а второе в виде конечной цепной дроби высоты n. Проверьте, равны ли они.

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

В первой строке через пробел записаны два целых числа p, q (1 ≤ q ≤ p ≤ 1018) — числитель и знаменатель первой дроби.

Во второй строке записано целое число n (1 ≤ n ≤ 90) — высота второй дроби. В третьей строке через пробел записаны n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 1018) — цепная дробь.

Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.

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

Выведите «YES», если эти дроби равны и «NO» в противном случае.

Примеры
Входные данные
9 4
2
2 4
Выходные данные
YES
Входные данные
9 4
3
2 3 1
Выходные данные
YES
Входные данные
9 4
3
1 2 4
Выходные данные
NO
Примечание

В первом примере .

Во втором примере .

В третьем примере .