#include<iostream>
using namespace std;
const int MAX_SIZE = 5;
template<class T>
class Array
{
T* pData;
int nSize;
public:
Array(int n); //构造函数
~Array(); //析构函数
//下标运算符重载
T& operator[](int idx){ return pData[idx]; }
int Find(T& obj); //查找函数
void Sort(); //排序函数
};
template<typename T>
Array<T>::Array(int n)
{
nSize=n;
pData= new T[n];
}
template<class T>
Array<T>::~Array()
{
delete [] pData;
pData=NULL;
}
template<class T>
int Array<T>::Find(T& temp)
{
for(int i=0;i<nSize;i++)
{
if(pData[i]==temp)
return i;
}
return -1;
}
template<class T>
void Array<T>::Sort()
{
int n=nSize;
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1-i;j++)
{
if(pData[j]>pData[j+1])
{
T tmp;
tmp=pData[j];
pData[j]=pData[j+1];
pData[j+1]=tmp;
}
}
}
}
int main()
{
int cnt = 0;
cin >> cnt;
if (cnt == 0)
return 0;
Array<int> ar(cnt);
for (int i = 0; i < cnt; i++)
cin >> ar[i];
int temp = 0;
cin >> temp;
int index = ar.Find(temp);
cout << index << endl;
ar.Sort();
cout << ar[0];
for (int i = 1; i < cnt; i++)
cout << " " << ar[i];
return 0;
}