program z1;
var a: integer;
begin
readln(a);
if (a mod 10 = 1) or (a div 100 = 1) or (a div 10 mod 10 = 1) then write (a*2)
else write (a*a)
end.
Объяснение:
Полный условный оператор:
Если последняя цифра числа или первая цифра числа или средняя цифра числа равна 1, то вывести число умноженное на 2, иначе вывести число умноженное на себя
a mod 10 - последняя цифра числа
a div 100 - первая цифра числа
a div 10 mod 10 - средняя цифра числа