Джек немногословен. Он не любит повторять одно и то же несколько раз 
подряд. Поэтому в двоичном слове, которое Джек недавно написал на заборе, 
нет непустых подстрок вида xyxyx, где x и y — 
двоичные строки (возможно, нулевой длины), а длина y не превосходит 
удвоенной длины x. Например, в слове Джека не могут встречаться 
подстроки 000 или 1001001, но могут встречаться 
подстроки 1010 и 001100110.
Проходящий мимо лис По спросил Джека, как тот получил своё новое слово.
Джек сказал, что сначала на заборе было написано пустое слово, а потом…
Дальнейший рассказ Джека содержит только фразы вида:
- 
«Я приписал 0(или1) в начало текущего слова»;
- 
«Я приписал 0(или1) в конец текущего слова»;
- 
«Я заменил все нули на строку 01, а все единицы — на 
строку10».
Лису По интересно, но больше ста таких фраз он не вытерпит. Успеет ли Джек 
завершить свой рассказ? 
Исходные данные
В единственной строке записано новое слово Джека. Это слово непустое, 
состоит только из нулей и единиц, а его длина не превосходит 
105.
Результат
Если для описания своего слова Джеку нужно более ста фраз, выведите
«−1». В противном случае выведите любое из возможных описаний. В первой 
строке выведите количество фраз k (1 ≤ k ≤ 100).
В следующих k строках перечислите эти фразы в том порядке, в 
котором их нужно говорить. Если требуется приписать символ c в 
начало, выведите «front c». Если требуется приписать символ 
c в конец, выведите «back c». Если требуется заменить 
0 на 01, а 1 на 10, 
выведите «double».
Пример
| исходные данные | результат | 
|---|
| 011010011
 | 5
back 1
front 0
double
double
back 1 | 
Замечания
По рассказу из примера последовательно будут получаться строки: пустая 
строка, «1», «01», «0110», «01101001», «011010011».
Автор задачи: Алексей Самсонов
Источник задачи: XV Открытый командный чемпионат УрГУ по программированию