//То чувство, когда 2 часа работал над оптимизацией, а в итоге работает быстрее вариант, который писал 5 минут.//PascalABC.NET 3.2 сборка 1318Var i,j,k,m,n,count:integer; s,s1:string;begin readln(n);for i:=1 to n do s+=inttostr(i);for i:=1 to length(s) doif (s[i]='2') or (s[i]='0') or (s[i]='1') or (s[i]='3') then s1+=s[i];s:=s1;for i:=1 to length(s) do if s[i]='2' then for j:=i+1 to length(s) do if s[j]='0' then for k:=j+1 to length(s) do if s[k]='1' then for m:=k+1 to length(s) do if s[m]='3' then inc(count);writeln(count);end.Пример ввода:500Пример вывода:23760240