Напишите класс Smile — «смайлик» определённого целого размера.
Операции. Класс должен поддерживать унарный минус, вычисление модуля (abs()), сложение и вычитание смайликов, а также умножение смайлка на число: эти операции производятся над размером смайлика и возвращают новый объект (модуль возвращает целое число).
- Строковое представление. Смайлик нулевого размера — пустая строка. Смайлик единичного размера приведён в примере. При увеличении на 1 в смайлик добавляется строка и два столбца. Расстояние до «глаз» (сверху, справа и слева) и до «рта» снизу) — целая часть от четверти модуля смайлика. Расстояние до «рта» слева и справа — на одно знакоместо больше. В первой позиции нулевой строки отображается модуль смайлика. Смайлик отрицательного размера перевёрнут (только позиция модуля не изменяется). Конкретные символы, из которых состоит «смайлик», приведены ниже.
2 /1\ |"| \-/ /3----\ | --- | | | |O O| \-----/ /4------\ | | | --- | | O O | | | \-------/ /17-------------------------------\ | | | | | | | | | O O | | | | | | | | | | | | | | | | ----------------------- | | | | | | | | | \---------------------------------/