var
  c,v:char;
  q,w,e:longint;
  s:string;
procedure R;
var q : longint;
    v :char;
begin
   q:=1;
   while length(s)<>0 do if (s[q]='(') or (s[q]='[') or (s[q]='{') then begin
     v:=s[q];
     w:=q;
     inc(q);
     end else
        if ((s[q]=')') and (v='(')) or ((s[q]=']') and (v='[')) or ((s[q]='}') and (v='{')) then begin
        delete(s,w,1);
        dec(q);
        delete(s,q,1);
        R;
     end else begin writeln('Нет'); close(output); halt; end;
end;

begin
  readln(s);
  R;
  writeln('Да');
  close(output);
end.
