This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
void solve(){
    int n, m;
    cin >> n >> m;
    if(n==1){
        cout << m << endl;
        
        for(int j=0; j<m; j++){
            cout << "-";
        }
            
    }
    else if(m==1){
        cout << n << endl;
        for(int i=0; i<n; i++){
            cout << "+\n";
        }  
    }
    else if(n<m){
       cout << n/2+n%2-1+(m+m%2-1-(n/2+n%2-1)) << endl;
       for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                if(j<ceil(m/2)+m%2-1){
                    cout << "-";
                }
                else{
                    cout << "+";
                }
            }
            cout << "\n";
        } 
    }
    else if(n>m){ 
       cout << n+(m-n/2-n%2) << endl;
       for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                if(j<ceil(m/2)+m%2-1){
                    cout << "-";
                }
                else{
                    cout << "+";
                }
            }
            cout << "\n";
        } 
    }
    else{
       cout << n+ceil(n/2)+n%2-1 << endl;
       for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                if(j<ceil(m/2)+m%2-1){
                    cout << "-";
                }
                else{
                    cout << "+";
                }
            }
            cout << "\n";
        } 
    }
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t;
    cin >> t;
    while(t--){
        solve();
    }
    return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |