template<class T>
struct queue {
int l = 0;
int r = 0;
T a [ 100000 ] ;
void push(T x) {
a[r] = x;
r=r+1;
}
T front() {
return a[l];
}
void pop() {
if(l<r)l++;
}
bool empty() {
if (l == r)
return true;
return false;
}
};
template<class T>
struct queue {
int l = 0;
int r = 0;
T a [ 100000 ] ;
void push(T x) {
a[r] = x;
r=r+1;
}
T front() {
return a[l];
}
void pop() {
if(l<r)l++;
}
bool empty() {
if (l == r)
return true;
return false;
}
};