Количество равных из трех

Входные данные
Даны три целых числа, записанных в отдельных строках. Определите, сколько среди них совпадающих.

Выходные данные
Программа должна вывести одно из чисел: 3 (если все совпадают), 2 (если два совпадают) или 0 (если все числа различны).

Исходный код на языке Pascal
var
  a, b, c, k: integer;

begin
  read(a, b, c);
  k := 0;
  if a = b then
    k := k + 1;
  if a = c then 
    k := k + 1;
  if c = b then
    k := k + 1;
  if(k = 0) or (k = 3) then
    writeln(k) else
    writeln(k + 1);
end.