#include using namespace std; template void bricksort(T beg,T end){ if (beg==end or beg+1==end) return; auto const pivot=end[-1]; auto l=beg,r=end-1; for (;;){ while (l<=r and (*lr;) if (*i==pivot) swap(*(r++),*i); bricksort(beg,l+1); bricksort(r,end); } int main(){ ios::sync_with_stdio(false); int n; cin>>n; vector v(n); for (auto &i: v) cin>>i; bricksort(v.begin(),v.end()); long double res=1.L; for (int i=n; i--;){ if (v[i]>i+1){ cout<<"impossible"<