#include <iostream>
#include <cstdlib>
using namespace std;

int main(){
	int size=2;
	int addsize=2;
	int **Prows;
	Prows=new int*[size];
	for(int i=0;i<size;i++){
		Prows[i]=new int[size];
	}
	cout<<"---Starting (2x2) Array---"<<endl;
	for(int i=0;i<size;i++){
		for(int j=0;j<size;j++){
			Prows[i][j]=10;
			cout<<Prows[i][j]<<" ";
		}
		cout<<endl;
	}
	Prows=reinterpret_cast<int **>(realloc(Prows,sizeof(int*)*(size+addsize)));
	for(int i=0;i<size+addsize;i++){
		Prows[i]=reinterpret_cast<int *>(realloc(Prows[i],sizeof(int)*(size+addsize)));
	}
	for(int i=0;i<size+addsize;i++){
		for(int j=0;j<size+addsize;j++){
			if(i>=size||j>=size){
				Prows[i][j]=20;
			}
		}
	}
	cout<<"\n---Expanded (4x4) Array---"<<endl;
	for(int i=0;i<size+addsize;i++){
		for(int j=0;j<size+addsize;j++){
			cout<<Prows[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
