#include #include using namespace std; namespace my{ #define LL(...) ll __VA_ARGS__;lin(__VA_ARGS__) #define VVL(n,m,...) vec>__VA_ARGS__;setsize({n,m},__VA_ARGS__);lin(__VA_ARGS__) #define FO(n) for(ll ij=n;ij--;) #define FOR(i,...) for(auto[i,i##stop,i##step]=range(0,__VA_ARGS__);isync_with_stdio(0);cout<constexpr auto range(bool s,A...a){arrayr{0,0,1};ll I=0;((r[I++]=a),...);if(!s&&I==1)swap(r[0],r[1]);r[0]-=s;return r;} constexpr char nl=10; constexpr char sp=32; constexpr auto zz(auto x){return x<0?-x:x;} constexpr ll pw2(ll n){return 1LL<>i&1;} bool amax(auto&a,const auto&b){return ab?a=b,1:0;} templateconcept vectorial=is_base_of_v,V>; templatestruct vec_attr{using core_type=T;static constexpr int d=0;}; templatestruct vec_attr{using core_type=typename vec_attr::core_type;static constexpr int d=vec_attr::d+1;}; templateusing core_t=vec_attr::core_type; templateistream&operator>>(istream&i,vector&v){fe(v,e)i>>e;return i;} templateostream&operator<<(ostream&o,const vector&v){fe(v,e)o<?nl:sp);return o;} templatestruct vec:vector{ using vector::vector; vec(const vector&v){vector::operator=(v);} vec&operator^=(const vec&u){this->insert(this->end(),u.begin(),u.end());return*this;} vec operator^(const vec&u)const{return vec{*this}^=u;} vec&operator++(){fe(*this,e)++e;return*this;} vec&operator--(){fe(*this,e)--e;return*this;} vec operator-()const{vec v=*this;fe(v,e)e=-e;return v;} }; templateauto make_vec(const ll(&s)[n],T x={}){if constexpr(n==i+1)return vec(s[i],x);else{auto X=make_vec(s,x);return vec(s[i],X);}} templatevoid setsize(const ll(&l)[n],A&...a){((a=make_vec(l,core_t())),...);} templatestruct infinity{ templateconstexpr operator T()const{return numeric_limits::max()*(1-is_negative*2);} templateconstexpr operator T()const{return static_cast(*this);} templateconstexpr bool operator==(T x)const{return static_cast(*this)==x;} constexpr auto operator-()const{return infinity();} }; constexpr infinity oo; void lin(auto&...a){(cin>>...>>a);} templatevoid pp(const auto&...a){ll n=sizeof...(a);((cout<0,c)),...);cout<mx(pw2(A),-oo); vecmi(pw2(A),oo); auto sco=make_vec({N,pw2(A)},(ll)oo); fo(i,N){ fo(S,pw2(A)){ ll t=0; fo(j,A){ if(at2(S,j))t+=a[i][j]; else t-=a[i][j]; } sco[i][S]=t; amax(mx[S],t); amin(mi[S],t); } } fo(i,N){ ll res=0; fo(S,pw2(A)){ amax(res,zz(sco[i][S]-mx[S])); amax(res,zz(sco[i][S]-mi[S])); } pp(res); } }}