Тут нужно объяснить: каждое слово представляет собой некоторое непустое множество документов, а значки "I" и "&" означают следующее:
I -это объединение двух множеств,
& -это пересечение двух множеств.
Еще возможны скобки, которые, как и обычной арифметике, указывают порядок действий.
Отношения больше или меньше - это вложенность множеств друг в друга (то есть одно из множеств является подмножеством другого), это не всегда выполняется, но в данном случае выполняется.
Самое большое множество это второе, потом первое - его подмножество, затем третье - подмножество первого, а четвертое - подмножество третьего. В порядке возрастания количества документов - это 4) 3) 1) 2).
Может что не ясно?
| -это логическое "ИЛИ",
& -это логическое "И".
var i,a,b,a1:integer;
begin
readln(a,b);
a1:=a;
for i:=1 to a1 do begin
if (a mod i=0) and (b mod i=0) then begin
a:=a div i;
b:=b div i;
end;
end;
writeln('c=',a,' d=',b);
end.