//Bismillah #include #include #include using namespace std; using namespace __gnu_pbds; #define nl cout<<"\n"; #define YN(condition) cout<<(condition?"YES":"NO") #define yn(condition) cout<<(condition?"Yes":"No") #define int long long #define lint __int128 #define ll long long #define ld long double #define pii pair const int inf = 1e17; const int MOD = 1000000007; #define ac(n) array #define vi vector #define vb vector #define vc vector #define vs vector #define vpi vector> #define vvi vector> #define mp map #define pq priority_queue #define pqmin priority_queue, greater> #define pqminpair priority_queue, vector>, greater>> #define f(i,s,e) for(int i=s;i=e;i--) #define printv(vec) for(auto &value: vec) cout<>value; #define pb push_back #define pp pop_back #define all(s) s.begin(), s.end() #define sa(vec) sort(vec.begin(), vec.end()) #define sd(vec) sort(vec.begin(), vec.end(), [](int a, int b){return a>b;}) template using ordered_set = tree< T, // key type null_type, // mapped type (null => set) less, // ordering rb_tree_tag, // red-black tree tree_order_statistics_node_update>; // .find_by_order(k) returns iterator of kth smallest element (0 based) // .order_of_key(k) returns number of elements < x template istream& operator>>(istream &in, pair &p) { in >> p.first >> p.second; return in; } template istream& operator>>(istream &in, vector &v) { for (auto &x : v) in >> x; return in; } template istream& operator>>(istream &in, vector> &vp) { for (auto &p : vp) in >> p.first >> p.second; return in; } template ostream& operator<<(ostream &out, const pair &p) { out << p.first << " " << p.second; return out; } template ostream& operator<<(ostream &out, const vector &v) { for (auto &x : v) out << x << " "; return out; } template ostream& operator<<(ostream &out, const vector> &vp) { for (auto &p : vp) out << p.first << " " << p.second << "\n"; return out; } #define fastnuces ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t = 1; int test=0; void solve(){ int n, k; cin>>n>>k; vi arr(n); cin>>arr; vi pre(n), post(n); pre[0] = arr[0]; f(i, 1, n) pre[i] = arr[i]*pre[i-1]; post[n-1] = arr[n-1]; fn(i, n-2, 0) post[i] = arr[i]*post[i+1]; int ans = pre[n-1]; f(i, 0, n){ int temp = 1; if(i) temp*=pre[i-1]; if(i> t; while (t--) { test++; solve(); nl } return 0; }