{1}
//PascalABC.Net 3.1 сборка 1200
begin
var n := Abs(ReadInteger());
var ns := new List();
while n > 0 do
begin
ns.Add(n mod 10);
n := n div 10;
end;
ns.Sort();
writeln(ns.Pairwise((x, y)-> x = y).Any(z -> z = true) ? 'YES' : 'NO');
end.
{2}
//PascalABC.Net 3.1 сборка 1200
var
a, b, c: integer;
begin
readln(a, b, c);
a := b - a;
b := c - b;
writeln(max(a, b) mod min(a, b));
end.
{3}
//PascalABC.Net 3.1 сборка 1200
function Shift(number: integer): integer;
begin
number := abs(number);
var s := number.ToString();
s := s.Substring(1) + s.Substring(0, 1);
if s.Substring(0, 1) = '0' then {костыль, так как число с ведущим нулем не будет самым большим}
s := s.Substring(1) + s.Substring(0, 1);
Shift := StrToInt(s);
end;
begin
var a := ReadInteger();
var max := a;
for var i := 1 to a.ToString().Length do
begin
a := Shift(a);
if max < a then max := a;
writeln(a);
end;
writeln('max = ', max);
end.