#include <stdio.h>
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"Logical Address:";
string s;
cin>>s;
int m=s.length();
int n,d;
cout<<"Enter n,d:";
cin>>n>>d;
int md=m-d;
int k=pow(2,md);
int num=0;
for(int i=0;i<md;i++){
num+=(s[i]-'0')*pow(2,md-i-1);
}
s=s.substr(md);
int nd=n-d;
int l=pow(2,nd);
int arr[k];
for(int i=0;i<k;i++){
arr[i]=(l/k)*i;
}
cout<<"page no\tframe no:\n";
for(int i=0;i<k;i++){
cout<<i<<"\t"<<arr[i]<<"\n";
}
string st="";
num=arr[num];
while(num!=0){
string z="";
z+=(num%2+'0');
st=z+st;
num/=2;
}
if(st.length()==nd){
s=st+s;
}
else {
for(int i=st.length();i<nd;i++){
st="0"+st;
}
s=st+s;
}
cout<<s<<endl;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCl7ICAKICAgIGNvdXQ8PCJMb2dpY2FsIEFkZHJlc3M6IjsKCXN0cmluZyBzOwoJY2luPj5zOwoJaW50IG09cy5sZW5ndGgoKTsKCWludCBuLGQ7Cgljb3V0PDwiRW50ZXIgbixkOiI7CgljaW4+Pm4+PmQ7CglpbnQgbWQ9bS1kOwoJaW50IGs9cG93KDIsbWQpOwoJaW50IG51bT0wOwoJZm9yKGludCBpPTA7aTxtZDtpKyspewoJCW51bSs9KHNbaV0tJzAnKSpwb3coMixtZC1pLTEpOwoJfQoJcz1zLnN1YnN0cihtZCk7CglpbnQgbmQ9bi1kOwoJaW50IGw9cG93KDIsbmQpOwoJaW50IGFycltrXTsKCWZvcihpbnQgaT0wO2k8aztpKyspewoJCWFycltpXT0obC9rKSppOwoJfQkKCWNvdXQ8PCJwYWdlIG5vXHRmcmFtZSBubzpcbiI7Cglmb3IoaW50IGk9MDtpPGs7aSsrKXsKCQljb3V0PDxpPDwiXHQiPDxhcnJbaV08PCJcbiI7Cgl9CQoJc3RyaW5nIHN0PSIiOwoJbnVtPWFycltudW1dOwoJd2hpbGUobnVtIT0wKXsJCgkJc3RyaW5nIHo9IiI7CgkJeis9KG51bSUyKycwJyk7CgkJc3Q9eitzdDsKCQludW0vPTI7Cgl9CglpZihzdC5sZW5ndGgoKT09bmQpewoJCXM9c3QrczsKCX0KCWVsc2UgewoJCWZvcihpbnQgaT1zdC5sZW5ndGgoKTtpPG5kO2krKyl7CgkJCXN0PSIwIitzdDsKCQl9CgkJcz1zdCtzOwoJfQoJY291dDw8czw8ZW5kbDsKfSA=