Машина Тьюринга (НОД)

Ребят, всем привет! Может кто-нибудь помочь с задачкой?

Задача такова: Есть два конечных набора из m и n единиц записанных на ленту подряд.

Машина в начальном положении должна обозревать крайнюю правую единицу левого набора.

Требуется построить программу машины Тьюринга, которая выдавала бы набор единиц из НОД(m,n) штук, а остальные единицы стирала бы