#include "bits/stdc++.h" // only gcc using namespace std; // std::cout, std::endl #pragma region TEMPLATE constexpr auto INF = 1000000000000; //10^12;; constexpr auto MOD = 1000000007; //10^9+7;; constexpr auto EPS = 1e-9; constexpr auto PI = 3.141592653589793238462643383279; #define endl '\n'; // std::endl => '\n' #define ALL(v) v.begin(), v.end() #define RALL(x) (x).rbegin(), (x).rend() #define SORT(v) sort(ALL(v)) #define RSORT(v) sort(RALL(v)) #define SZ(x) ((int)(x).size()) #define FOR(i, j, k) for (int i=j ; i=k ; i--) #define REP(i, j) FOR(i, 0, j) #define RREP(i, j) RFOR(i, j, 0) #define FOREACH(it,l) for (auto it = l.begin(); it != l.end(); it++) #define YES(p) cout << (p ? "YES":"NO") << endl; #define Yes(p) cout << (p ? "Yes":"No") << endl; templateT in(){T x; cin >> x; return x; } // read template void out(T value){ cout << value << endl; }// write template bool chmax(T& a,const T& b){ if (a < b){ a = b; return 1; } return 0; } // change max template bool chmin(T& a,const T& b){ if (b < a){ a = b; return 1; } return 0; } // change min // initialize fast io struct Fast_IO { const int prec = 10; Fast_IO() { cin.tie(nullptr); ios_base::sync_with_stdio(false); cout << fixed << setprecision(prec); } } fast_io; #pragma endregion using VI = vector; using VVI = vector; using ll = long long; signed main() { Fast_IO(); int N, M; cin >> N >> M; VI C(M), R(N); char op; cin >> op; REP(i, M) C[i] = in(); REP(i, N) R[i] = in(); VVI MAP(N, VI(M)); REP(i, N) { REP(j, M) { cout << (op == '+' ? R[i] + C[j] : R[i] * C[j]); if (j != M - 1)cout << " "; } cout << endl; } return 0; }