(*
 * II Всероссийская Командная Олимпиада Школьников по Программированию
 *
 * Задача:      Контрольный Блок
 * Автор:       Александр Максимов
 * Решение:     Андрей Станкевич
 *)

{$A+,B-,D+,E+,F-,G+,I+,L+,N+,O-,P+,Q+,R+,S+,T-,V-,X+,Y+}
{$M 65520,0,655360}

program control_block;

var
    a: array [0..1001] of longint;
    i, r, n, m: longint;

begin
{    assign(input, 'input.txt');
    reset(input);
    assign(output, 'output.txt');
    rewrite(output);}
    
    read(n, m);
    r := 0;
    for i := 1 to n do
    begin
        read(a[i]);
        r := (r + a[i]) mod m;
    end;
    
    if r = 0 then
    begin
        writeln('YES');
        for i := 1 to n do
        begin
            write(r, ' ');
            r := (r + a[i]) mod m;
        end;
    end else begin
        writeln('NO');
    end;
    

    close(input);
    close(output);
end.
