Priority Queue queue

priority_queue<pair<int, int> >q;
q.push( {1, 5} );
q.push( {4, 2} );
q.push( {5, 3} );
q.push({2, 4});
q.push({3, 1});
q.push({5, 2});
cout<<q.top().first<<" "<<q.top().second<<endl;

what is the output of above code
how to create heap

it should be 5 3
priority_queue is inbuilt implementation of max heap
this is heap