IntegerPriorityQueue * IntegerPriorityQueueCreate ()
{
	IntegerPriorityQueue * pPQ = new IntegerPriorityQueue;
	IntegerVectorInit( pPQ->m_heapItems );
	IntegerVectorPushBack( pPQ->m_heapItems, 0 ); // reserved cell
	return pPQ;
}
int main() {
	IntegerVector *p_desb = new IntegerVector;
	IntegerVectorInit(*p_desb);
	IntegerVectorReadTillZeroOrLess(*p_desb, std::cin);



	IntegerVectorAnalyze_and_Output(p_desb);



	
	system("pause");
	
	return 0;
};
IntegerPriorityQueue * IntegerPriorityQueueCreate ()
{
	IntegerPriorityQueue * pPQ = new IntegerPriorityQueue;
	IntegerVectorInit( pPQ->m_unorderedItems );
	return pPQ;
}