Можно ли купить ровно k шариков мороженого?

В кафе мороженое продают по три шарика и по пять шариков. Можно ли купить ровно k шариков мороженого?

Входные данные
Вводится число k (целое,положительное)

Выходные данные
Программа должна вывести слово YES, если при таких условиях можно набрать ровно k шариков (не больше и не меньше), в противном случае - вывести NO.

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

begin
  read(a);
  while a > 2 do
  begin
    if (a mod 5 = 0) or (a mod 3 = 0) or ((a - 3) mod 5 = 0) or ((a - 5) mod 3 = 0) then 
    begin
      writeln('YES'); 
      k := 13;
      break;
    end;
    a := a - 3;
  end;
  if k <> 13 then 
    writeln('NO');
end.