#include <iostream>
#include <stack>
using namespace std;
void insert(stack<int>&s,int val){
if(s.empty()){
s.push(val);
return;
}
int temp=s.top();
s.pop();
insert(s,val);
s.push(temp);
}
int main(){
stack<int>s;
s.push(10);
s.push(20);
s.push(30);
s.push(40);
insert(s,5);
while(!s.empty()){
cout<<s.top()<<" ";
s.pop();
}
cout<<endl;
return 0;
}