#include <stdio.h>
#include <stdlib.h>

// Function to allocate memory
int** allocateMatrix(int rows, int cols) {
    int **m = (int**)malloc(rows * sizeof(int*));
    for (int i = 0; i < rows; i++)
        m[i] = (int*)malloc(cols * sizeof(int));
    return m;
}

// Function to input matrix
void inputMatrix(int **m, int r, int c) {
    printf("Enter elements:\n");
    for (int i = 0; i < r; i++)
        for (int j = 0; j < c; j++)
            scanf("%d", &m[i][j]);
}

// Function to display matrix
void displayMatrix(int **m, int r, int c) {
    for (int i = 0; i < r; i++) {
        for (int j = 0; j < c; j++)
            printf("%d ", m[i][j]);
        printf("\n");
    }
}

// Addition
int** addMatrix(int **A, int **B, int r, int c) {
    int **R = allocateMatrix(r, c);
    for (int i = 0; i < r; i++)
        for (int j = 0; j < c; j++)
            R[i][j] = A[i][j] + B[i][j];
    return R;
}

// Subtraction
int** subtra