{
TASK:n23
LANG:PASCAL
}
{1 -> 2
2 -> 32 (3)
3 -> 32
4 -> 32
5 -> 32
6 -> 23232 (232)
7 -> 223232 (2)
8 -> 223232
9 -> 223232
10 -> 223232
11 -> 223232
12 -> 32223232 (32)
13 -> 3323232223232 (33232)
14 -> 3323232223232
15 -> 3323232223232
16 -> 3323323232223232 (332)
17 -> 33323323232223232 (3)
18 -> 333323323232223232 (3)
19 -> 3333323323232223232 (3)
20 -> 33333323323232223232 (3)
21 -> 233333323323232223232 (2)
22 -> 3233333323323232223232 (3)
23 -> 3233333323323232223232
24 -> 23233333323323232223232 (2)
25 -> 223233333323323232223232 (2)
26 -> 223233333323323232223232

27 -> 23232223233333323323232223232 (2)}
const
 a:array [1..26] of string=(
 '2','32','32','32','32','23232',
 '223232','223232','223232','223232','223232','32223232',
 '3323232223232','3323232223232','3323232223232','3323323232223232','33323323232223232',
 '333323323232223232','3333323323232223232','33333323323232223232','233333323323232223232',
 '3233333323323232223232','3233333323323232223232','23233333323323232223232','223233333323323232223232',
 '223233333323323232223232');
var
 n:integer;
begin
  readln (n);
  if n<=26 then writeln(a[n])
  else writeln ('NO');
end.