fork(2) download
  1. Const
  2. P: array [1..50] Of word = (2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97
  3. ,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,
  4. 191,193,197,199,211,223,227,229);
  5.  
  6. Var
  7. A: string;
  8. T: array['a'..'z'] Of byte;
  9. R: array[1..50] Of byte;
  10. Zn: char;
  11. N,K,S,W: longint;
  12. Begin
  13. readln(a);
  14. N := length(a);
  15. For k:=1 To N Do
  16. T[A[K]] := T[A[K]]+1;
  17. For K:=2 To N Do
  18. Begin
  19. s := 1;
  20. w := k;
  21. While w>1 Do
  22. Begin
  23. While w Mod P[S]=0 Do
  24. Begin
  25. R[S] := R[S]+1;
  26. w := w Div P[S]
  27. End;
  28. s := s+1
  29. End
  30. End;
  31. For Zn:='a' To 'z' Do
  32. If t[Zn]>1 Then
  33. Begin
  34. s := 1;
  35. w := t[zn];
  36. While w>1 Do
  37. Begin
  38. R[S] := R[S]-1;
  39. w := w Div P[S]
  40. End;
  41. s := s+1;
  42. End;
  43. s := 50;
  44. While R[S]=0 Do
  45. s := s-1;
  46. For k:=1 To s Do
  47. write(R[K], ' ');
  48. End.
Success #stdin #stdout 0.01s 256KB
stdin
lato
ala
mama
stdout
3 1