for pratyush in range(int(input())):
n=int(input())
a=list(map(int,input().split()))
s=sum(a)
if s==0:
print("NO")
else:
print("YES")
if s>0: a.sort(reverse=True)
else: a.sort()
print(*a)
#include<bits/stdc++.h>
using namespace std;
int main()
{
// freopen("input.txt","r",stdin);
// freopen("output.txt","w",stdout);
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++)
cin>>arr[i];
int psum=0 , nsum=0;
for(int i=0;i<n;i++)
if(arr[i]<0) nsum+=abs(arr[i]);
else psum+=arr[i];
if(psum==nsum)
cout<<"NO"<<endl;
else
{
sort(arr,arr+n);
if(psum>nsum)
reverse(arr,arr+n);
cout<<"YES"<<endl;
for(int i=0;i<n;i++)
cout<<arr[i]<<" ";
cout<<endl;
}
}
return 0;
}
1582C - Grandma Capa Knits a Scarf | 492A - Vanya and Cubes |
217A - Ice Skating | 270A - Fancy Fence |
181A - Series of Crimes | 1638A - Reverse |
1654C - Alice and the Cake | 369A - Valera and Plates |
1626A - Equidistant Letters | 977D - Divide by three multiply by two |
1654B - Prefix Removals | 1654A - Maximum Cake Tastiness |
1649A - Game | 139A - Petr and Book |
1612A - Distance | 520A - Pangram |
124A - The number of positions | 1041A - Heist |
901A - Hashing Trees | 1283A - Minutes Before the New Year |
1654D - Potion Brewing Class | 1107B - Digital root |
25A - IQ test | 785A - Anton and Polyhedrons |
1542B - Plus and Multiply | 306A - Candies |
1651C - Fault-tolerant Network | 870A - Search for Pretty Integers |
1174A - Ehab Fails to Be Thanos | 1169A - Circle Metro |