#include <iostream>
const int MAXN = 1010;
const int MAXM = 1010;
struct Matrix{
int n , m;
int a[MAXN][MAXM];
//清空矩阵
void clear(){
n = MAXN;
m = MAXM;
for(int i = 0 ; i < n ; i ++ ){
for(int j = 0 ; j < m ; j ++){
a[i][j] = 0;
}
}
}
Matrix operator +(const Matrix &b) const{
Matrix tmp;
tmp.n = n;
tmp.m = m;
for(int i = 0 ; i < n ; i++)
for(int j = 0 ; j < m ; j++){
tmp.a[i][j] = a[i][j] + b.a[i][j] ;
}
return tmp;
}
Matrix operator -(const Matrix &b) const {
Matrix tmp ;
tmp.n = n;
tmp.m = m;
for(int i = 0 ; i < n ; i++ ){
for(int j = 0 ; j < m ; j ++ ) {
tmp.a[i][j] = a[i][j] - b.a[i][j] ;
}
}
return tmp;
}
Matrix operator *(const Matrix &b) const {
Matrix tmp ;
tmp.n = n ;
tmp.m = m ;
for(int i = 0 ; i < n; i ++ ){
for(int j = 0 ; j < m ; j ++){
tmp.a[i][j] = a[i][j] * b.a[i][j] ;
}
}
return tmp;
}
};
int main(){}
const int MAXN = 1010;
const int MAXM = 1010;
struct Matrix{
int n , m;
int a[MAXN][MAXM];
//清空矩阵
void clear(){
n = MAXN;
m = MAXM;
for(int i = 0 ; i < n ; i ++ ){
for(int j = 0 ; j < m ; j ++){
a[i][j] = 0;
}
}
}
Matrix operator +(const Matrix &b) const{
Matrix tmp;
tmp.n = n;
tmp.m = m;
for(int i = 0 ; i < n ; i++)
for(int j = 0 ; j < m ; j++){
tmp.a[i][j] = a[i][j] + b.a[i][j] ;
}
return tmp;
}
Matrix operator -(const Matrix &b) const {
Matrix tmp ;
tmp.n = n;
tmp.m = m;
for(int i = 0 ; i < n ; i++ ){
for(int j = 0 ; j < m ; j ++ ) {
tmp.a[i][j] = a[i][j] - b.a[i][j] ;
}
}
return tmp;
}
Matrix operator *(const Matrix &b) const {
Matrix tmp ;
tmp.n = n ;
tmp.m = m ;
for(int i = 0 ; i < n; i ++ ){
for(int j = 0 ; j < m ; j ++){
tmp.a[i][j] = a[i][j] * b.a[i][j] ;
}
}
return tmp;
}
};
int main(){}