int apple = 1;
int* poinerToApple = &apple;
//просто скопируем указатель
int* poinerToApple2 = poinerToApple;
//ожидаемо оба указывают на одно значение
//assert покажет что условие верно
assert(*PointerToApple == *PointerToApple2);
assert(*PointerToApple == apple);
assert(*PointerToApple2 == apple);
//так получим указатель на указатель
int** poinerToPointerToApple = &poinerToApple;
int** poinerToPointerToApple2 = &poinerToApple2;
//разные указатели имеют разные адреса
assert(poinerToPointerToApple2 != poinerToPointerToApple);
//но они могут указывать на один и тот же указатель
assert(*poinerToPointerToApple2 == *poinerToPointerToApple);
//и по ним мы можем добраться до исходного значения
assert(**poinerToPointerToApple2 == apple);
int x = 5;
cout << x; //напечатает 5
cout << &x; //напечатает что-то типа 0x7fffffffd2e4
num, den = (int(v) for v in input().split('/'))
a, q = divmod(num, den)
t = den #q/t -- хвост
res = [a]
while q != 0:
next_t = q
a, q = divmod(t, q)
t = next_t
res.append(a)
print(res)