/**/ /*
    题意:给出a[i]  现在要求使得∑ai*bi = 0   bi = -1,1 其中1<=ai<=i
           n <= 10^5
     若没有    1<=ai<=i 可用dp做,但数据规模太大了
    
    标程是用贪心,从后往前贪
    不断使答案sum趋近于0
*/

#include
< cstdio >
#include
< cstring >

const   int  MAXN  =   100010 ;

int  a[MAXN],f[MAXN];

int  main()
{
    
int N;
    
while~scanf("%d",&N) )
    
{
        
forint i=1; i <= N; i++)
            scanf(
"%d"&a[i]);
        
int sum = 0;
        
forint i = N; i ; i--)
        
{    
            
if(sum <= 0) sum += a[i] , f[i] = 1;
            
else sum -= a[i], f[i] = -1;
        }

        
if(sum)puts("No");
        
else 
        
{
            puts(
"Yes");
            
forint i=1; i<=N ; i++)
            
{
                
if(i>1)putchar(' ');
                printf(
"%d",f[i]);
            }

        }

    }

    
return 0;
}