Cod sursa(job #1355566)

Utilizator danutbodbodnariuc danut danutbod Data 22 februarie 2015 20:59:35
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 24.19 kb
#include <fstream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
bool prim[2006000];
int sol=0;
int n=0;
int main()
{
    f>>n;

for(int i=2;i<=n;++i)
  if (prim[i]==0)
   for(int j=i*2;j<=n;j+=i)
     prim[j]=1;

for(int i=2;i<=n;++i)
  if (prim[i]==0){//g<<i<<" ";
                  ++sol;
                  }
g<<sol;
return 0;
}
//#include <iostream>
//#include<cmath>
//using namespace std;
//int nrsol;
//int pp,i,j,r,m,n,x;
//int a[1001],p[50000],b[20000];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
// //ciur
//   r=sqrt(2000000004);
//   for(i=2;i<=r;i++)
//    if(p[i]==0)
//     for(j=i*i;j<=r;j+=i)p[j]=1;
//   for(i=2;i<=r;i++)
//    if(p[i]==0)b[++m]=i;
//  // for(i=1;i<=m;i++)cout<<b[i]<<" ";
//  for(i=1;i<=n;i++){
//    x=a[i];nrsol=1;
//    j=1;
//    while(x!=1 and x>=b[j] and j<=m)
//    {
//        pp=0;
//        while(x%b[j]==0){pp++;x=x/b[j];}
//        nrsol*=(2*pp+1);
//        j++;
//    }
//    if(a[i]==1)nrsol=1;
//    else
//        if(a[i]==x)nrsol=3;//pr. numere prime
//    cout<<nrsol<<" ";
//  }
//   return 0;
//}

//#include <iostream>//bac V25 SIII pr4
//#include<fstream>
//using namespace std;
//float a,b;
//float n;
//ifstream f("bac.txt");
//int cmmdc(int a,int b){
//  int r;
//   do{
//    r=a%b;
//    a=b;
//    b=r;
//   }while(r);
//   return a;
//}
//int main()
//{
//    f>>n;
//    a=n;b=1;
//    while((int)a!=a){a=a*10;b=b*10;}
//    cout<<a/cmmdc(a,b)<<" "<<b/cmmdc(a,b);
//   return 0;
//}

//#include <iostream>//bac V23 SIII pr4
//#include<fstream>
//using namespace std;
//int a[1001],b[1001],j,i,n;
//bool se_inter;
//ifstream f("bac.txt");
//bool intersectie(int a,int b,int c,int d){
//  if(b<c or  d<a)  return false;
//  else return true;
//}
//int main()
//{
//    f>>n;
//    for(i=1;i<=n;i++)
//         f>>a[i]>>b[i];
//    for(i=1;i<=n;i++){
//         se_inter=false;
//         for(j=1;j<=n;j++)
//          if(i!=j)
//           if(intersectie(a[i],b[i],a[j],b[j])==true)se_inter=true;
//         if(se_inter==false)cout<<a[i]<<"  "<<b[i]<<endl;
//    }
//   return 0;
//}
//#include <iostream>
//#include<cstring>
//using namespace std;
//char a[100],b[100];
//char ch,e;
//int n,i,nr,k,m;
//int main()
//{
//   cin.get(a,100);
//   n=strlen(a);
//   k=0;
//   for(i=0;i<n;i++)
//      if(a[i]!=' ')k++;
//        else {m=max(m,k);k=0;}
//
//   m=max(m,k);
//   cout<<m;
//   return 0;
//}
//#include <iostream>//Babes 2012
//#include <cmath>
//using namespace std;
//int a[100],n,i;
//void citire(int a[100],int &n){
// int x;
// while(cin>>x)
//    if(x)a[++n]=x;
//     else break;
//}
//void afisare(int a[100],int n){
//int i;
//for(i=1;i<=n;i++)
//    cout<<a[i]<<"  ";
//}
//bool asemenea(int x,int y){
//    int i;
//    int frx[10],fry[10];
//    for(i=0;i<=9;i++)frx[i]=fry[i]=0;
//    while(x){frx[x%10]=1;x=x/10;}
//    while(y){fry[y%10]=1;y=y/10;}
//    for(i=0;i<=9;i++)
//        if(frx[i]!=fry[i])return false;
//    return true;
//}
//void eliminare_subsir(int a[100],int &n,int p1,int p2){
//int i,j;
//j=p1;
//for(i=p2+1;i<=n;i++)
//    a[j++]=a[i];
//n-=p2-p1+1;
//}
//void eliminare_secv_asemenea(int a[100],int &n){
//int i,j;
// i=1;
// while(i<=n){
//    j=i;
//    while(asemenea(a[j],a[j+1]))j++;
//    if(i!=j)eliminare_subsir(a,n,i,j);
//    else  i++;
// }
//}
//int main()
//{
//    citire(a,n);
//    eliminare_secv_asemenea(a,n);
//    afisare(a,n);
//
//    return 0;
//}
//#include <iostream>
//#include <cmath>
//using namespace std;
//int i,n,s,S,mini,maxi,maxd,k,x,a,b,d,y;
//int main()
//{cin>>n;
//while(n%2==0)n=n/2;
//S=0;
//for(d=1;d<=n/2;d=d+2)
//   if(n%d==0)S+=d;
//if(n%2==1) S+=n;
//cout<<S;
//return 0;
//}
//#include <iostream>//100p
//using namespace std;
//int x,y,d,z,t,a,b,r;
//int main()
//{cin>>x>>y;
//a=x;b=y;
//do{
// r=x%y;
// x=y;
// y=r;
//}while(r);
//for(d=1;d<=x;d++)
//if(a%d==0 and b%d==0)cout<<d<<" ";
//return 0;
//}
//#include <iostream>//90p
//using namespace std;
//int x,y,d,z,t;
//int main()
//{cin>>x>>y;
//z=min(x,y);
//t=z/2;
//for(d=1;d<=t;d++)
//if(x%d==0 and y%d==0)
//cout<<d<<" ";
//if(x%z==0 and y%z==0)cout<<z;
//return 0;
//}
//#include <iostream>//90p
//using namespace std;
//int x,y,d,mini;
//int main()
//{cin>>x>>y;
//mini=min(x,y);
//for(d=1;d<=mini;d++)
//if(x%d==0 and y%d==0)
//cout<<d<<" ";
//return 0;
//}
//
//#include <fstream>
//using namespace std;
//ifstream fi("zone.in");
//ofstream fo("zone.out");
//int a[303],i,j,n,k;
//bool gasit1,gasit2;
//int main()
//{
//fi>>n;
//for(i=1;i<=3*n;i++)fi>>a[i];
//gasit1=false;
//for(i=1;i<=n;i++)
//    if(a[i]%2==0){gasit1=true;break;}
//gasit2=false;
//for(j=3*n;j>=2*n+1;j--)
//    if(a[j]%2==1){gasit2=true;break;}
//if(gasit1==true and gasit2==true)swap(a[i],a[j]);
//for(i=1;i<=3*n;i++)fo<<a[i]<<" ";
//    return 0;
//}
//#include <iostream>
//using namespace std;
//int a[200][200],i,j,v,vv,n,k;
//int main()
//{
//    cin>>n;
//    k=(n+1)/2;
//    for(v=1;v<=k;v++)
//    {
//       a[v][k]=v;
//       vv=v;i=v;
//       j=k+1;
//       while(vv){a[i][j]=--vv;j++;}
//       vv=v;i=v;
//       j=k-1;
//       while(vv){a[i][j]=--vv;j--;}
//    }
//    for(i=1;i<=n;i++){
//        for(j=1;j<=n;j++)
//          if(i<=n/2)a[n-i+1][j]=a[i][j];
//    }
//    for(i=1;i<=n;i++){
//        for(j=1;j<=n;j++)cout<<a[i][j]<<" ";
//        cout<<endl;
//    }
//    return 0;
//
//}

////#include <iostream>
////using namespace std;
////int x1,y1,x2,y2;
////int main()
////{
////    cin>>x1>>y1>>x2>>y2;
////    if(x1==x2)cout<<"verticala";
////    else if(y1==y2)cout<<"orizontala";
////    else cout<<"oblica";
////    return 0;
////
////}
//#include <fstream>
//using namespace std;
//ifstream fi("spectacole.in");
//ofstream fo("spectacole.out");
//  int n, i,j, x[101], y[101], k, ales;
// int main()
//{
//    fi>>n;
//    for(i=1;i<=n;i++)    fi>>x[i]>>y[i];
//   for(i=1;i<=n;i++)
//   for(j=i+1;j<=n;j++)
//       if(y[i]>y[j]){
//                   swap(x[i], x[j]);
//                   swap(y[i], y[j]);
//       }
//     k=1;
//    ales=y[1];
//    //fo<<x[1]<<" "<<y[1]<<endl;
//   for(i=2;i<=n;i++)
//        if(ales<=x[i]){
//           k++;
//      //    fo<<x[i]<<" "<<y[i]<<endl;
//          ales=y[i];
//         }
//  fo<<k;
//  return 0;
//}
//
//#include <iostream>
//#include<cstring>
//using namespace std;
//char s[100];
//char c;
//int i,j,p,n; //mare frig saci =>mare frig sai
//int main()
//{
//    cin.get(s,100);
//    n=strlen(s);
//    for(i=n-1;i>=0;i--)
//        if(s[i]!=' ' and s[i]!='a' and s[i]!='e' and
//           s[i]!='i' and s[i]!='o' and s[i]!='u' )
//              {p=i;break; }
//    cout<<p<<" ";
//    strcpy(s+p,s+p+1);
//    cout<<s;
////    cout<<"dati propozitie";
////    cin.get(a,100);
////    //a)
////    cout<<"lungimea propozitiei:"<<strlen(a)<<endl;
////    // b)
////    for(i=0;i<strlen(a);i++)
////      if(a[i]=='a' or a[i]=='A')k++;
////    cout<<"numarul de litere de a este:"<<k<<endl;
////    //c)
////    cout<<"propozitia fara litera 'c' este:";
////    for(i=0;i<strlen(a);i++)
////      if(a[i]!='c' and a[i]!='C')cout<<a[i];
////    cout<<endl;
////    //d)
//////    for(i=0;i<strlen(a);i++)
//////      if(a[i]>='a' and a[i]<='z')a[i]=a[i]-32;
//////    cout<<a<<endl;
////    //e)
//////    for(i=0;i<strlen(a);i++)
//////      if(a[i]>='a' and a[i]<='z')a[i]=a[i]-32;
//////        else
//////          if(a[i]>='A' and a[i]<='Z') a[i]=a[i]+32;
//////    cout<<a<<endl;
////    //f)
////    int voc=0,con=0;
////     for(i=0;i<strlen(a);i++)
////      if((a[i]>='a' and a[i]<='z')or(a[i]>='A' and a[i]<='Z'))
////      if(a[i]=='a' or a[i]=='e' or a[i]=='i' or a[i]=='o' or a[i]=='u' or
////               a[i]=='A' or a[i]=='E' or a[i]=='I' or a[i]=='O' or a[i]=='U' )voc++;
////          else con++;
////    cout<<"numar vocale si consoane:"<<voc<<" "<<con<<endl;
//
//    return 0;
//}
//
//#include <iostream>
//#include<cstring>
//using namespace std;
//char a[100],b[100];
//char ch,e;
//int main()
//{
//    cin>>a;                             //citire sir(cuvânt) pâna la spațiu
//    cout<<a<<" "<<strlen(a)<<" "<<a[0];
//
//   cin.get(a,100);                  //citire sir(propozitie) cu cin.get( , ) var I
//   cout<<a;
//
////   cin.get(a,100,'m');            //citire sir(propozitie)  cu cin.get( , , ) var II
////   cout<<a;
//
//    return 0;
//}

//#include <fstream>//var I
//using namespace std;
//ifstream f("munte3.in");
//ofstream g("munte3.out");
//  int a[101],b[101],fr[101],sk,s,i,n,k,j,p;
// int main()
//{
//   f>>n;
//   for(i=1;i<=n;i++)
//     f>>a[i];
//   for(i=2;i<n;i++)
//       if(a[i-1]<a[i] and a[i]>a[i+1])k++;
//   g<<k<<endl;
//   do{
//      for(i=1;i<=n;i++)fr[i]=0;
//      k=0;
//      for(i=2;i<n;i++)
//       if(a[i-1]<a[i] and a[i]>a[i+1]){k++;fr[i]=1;}
//      if(k==0)break;
//      else
//      {
//          sk+=k;
//          p=0;
//          for(i=1;i<=n;i++)
//           if(fr[i]==0)b[++p]=a[i];//{p++;b[p]=a[i];}
//          for(i=1;i<=p;i++) a[i]=b[i]; n=p;
//      }
//   }while(1);
//   g<<sk<<endl<<n;
//   return 0;
//}

//#include <fstream>//var II
//using namespace std;
//ifstream f("meteo1.in");
//ofstream g("meteo1.out");
//  int a[1001],s,i,n,k,j,maxi,pi,pf;
// int main()
//{
//   f>>n;
//   for(i=1;i<=n;i++)
//     f>>a[i];
//   k=1;
//   for(i=1;i<n;i++)
//       if((a[i]<0 and a[i+1]>=0) or (a[i]>=0 and a[i+1]<0))k++;
//       else {
//             if(k>=maxi){maxi=k;pi=i-k+1;pf=i;}
//             k=1;
//            }
//    if(k>=maxi){maxi=k;pi=i-k+1;pf=i;}
//    if(maxi>=2){
//           g<<maxi<<endl;
//            for(i=pi;i<=pf;i++)g<<a[i]<<" ";
//              }
//        else g<<0;
//   return 0;
//}

//#include <fstream>//var I
//using namespace std;
//ifstream f("meteo1.in");
//ofstream g("meteo1.out");
//  int a[1001],s,i,n,k,j,maxi,pi,pf;
// int main()
//{
//   f>>n;
//   for(i=1;i<=n;i++)
//     f>>a[i];
//   for(i=1;i<=n;i++)
//    {
//       k=1;
//       for(j=i;j<n;j++)
//             if((a[j]<0 and a[j+1]>=0)or (a[j]>=0 and a[j+1]<0))
//               k++;
//             else break;
//      if(k>=maxi){maxi=k;pi=i;pf=j;}
//    }
//    if(maxi>=2){
//           g<<maxi<<endl;
//            for(i=pi;i<=pf;i++)g<<a[i]<<" ";
//              }
//        else g<<0;
//   return 0;
//}

//#include <fstream>
//#define NMax 1001
//using namespace std;
//ifstream fi("eoliene.in");
//ofstream fo("eoliene.out");
//  int n, i,j, x[NMax], y[NMax],d[NMax],l[NMax],k, ales;
// int main()
//{
//    fi>>n;
//    for(i=1;i<=n;i++)    fi>>d[i];
//    for(i=1;i<=n;i++)    fi>>l[i];
//    for(i=1;i<=n;i++)    {x[i]=d[i]-l[i];y[i]=d[i]+l[i];}
//   for(i=1;i<=n;i++)
//   for(j=i+1;j<=n;j++)
//       if(y[i]>y[j]){
//                   swap(x[i], x[j]);
//                   swap(y[i], y[j]);
//       }
//     k=1;
//    ales=y[1];
//    for(i=2;i<=n;i++)
//        if(ales<x[i]){
//           k++;
//          ales=y[i];
//         }
//  fo<<n-k;
//  return 0;
//}

//
//#include <iostream>
//#include<cstring>
//using namespace std;
//char a[100],b[100];
//char ch,e,*p;
//int strlena(char a[100]){
//int  i=0;
// while(a[i]!='\0')i++;
// return i;
// //return strlen(a);
//}
//int main()
//{
//   cin.get(a,100);            //citire sir(propozitie)  cu cin.get( , , ) var II
//   for(int i=0;i<strlen(a);i++)
//     a[i]=a[i+1];
//   cout<<a;;
//
//
//return 0;
//}
//#include <iostream>
//using namespace std;
//void detnr(int x,int a[100])
//{
//    int n=0;
//    while(x!=0)
//    {
//        a[++n]=x%10;
//        x=x/10;
//    }
//}
//int palindrom(int a[100],int n)
//{
//    int j=n,i=1;
//    while(i<=j)
//    {
//        if(a[i]!=a[j]) return 0;
//        i++;j--;
//    }
//    return 1;
//}
//
//
//void tiparire(int a[100][100],int n)
//{
//    int i,j;
//    for(i=1;i<=n;i++)
//    {
//        for(j=1;j<=n;j++)
//            cout<<a[i][j]<<" ";
//        cout<<endl;
//    }
//}
//int n,i,j,a[100][100];
//int main()
//{
//
//    return 0;
//}
//#include <iostream>
//using namespace std;
//int prim(int x)
//{
//    int d,k=0;
//    for(d=1;d<=x;d++)
//        if(x%d==0) k++;
//    if(k==2) return 1;
//    else return 0;
//}
//int mprim(int m)
//{
//    int k,p;
//    p=0;
//    k=1;
//    while(p!=m)
//    {
//        k++;
//        if(prim(k)==1)
//            p++;
//    }
//    return k;
//}
//void tiparire(int a[100][100],int n)
//{
//    int i,j;
//    for(i=1;i<=n;i++)
//    {
//        for(j=1;j<=n;j++)
//            cout<<a[i][j]<<" ";
//        cout<<endl;
//    }
//}
//int n,i,j,a[100][100];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)
//        for(j=1;j<=n;j++)
//            if(i==j) a[i][j]=0;
//            else if(i>j) a[i][j]=i;
//            else if(i<j) a[i][j]=mprim(i);
//    tiparire(a,n);
//    return 0;
//}
//
////   www.pbinfo.ro
//#include <fstream>
//using namespace std;
//ifstream fi("maxsim.in");
//ofstream fo("maxsim.out");
//int maxi,n,i,p1,p2,a[1001];
//bool prim;
//int main()
//{
//    fi>>n;
//    for(i=1;i<=n;i++)fi>>a[i];
//    for(i=1;i<=n/2;i++)
//       if(maxi<a[i]+a[n-i+1]){maxi=a[i]+a[n-i+1];p1=i;p2=n-i+1;}
//    fo <<maxi<<" "<<p1<<" "<<p2;
//    return 0;
//}
//
//// nrapprime  www.pbinfo.ro stergeti el prime
//#include <fstream>//100p
//#include<cmath>
//using namespace std;
//ifstream fi("nrapprime.in");
//ofstream fo("nrapprime.out");
//int n,i,j,t, x,d,rad,a[1001];
//bool prim;
//int main()
//{
//    fi>>n;
//    for(i=1;i<=n;i++)fi>>a[i];
//    for(i=1;i<=n;i++)
//       {
//        x=a[i];
//        if(x==0 or x==1)prim=false;
//        if(x==2)prim=true;
//        if(x>2){
//            prim=true;
//            rad=sqrt(x);
//            for(d=2;d<=rad;d++)
//            if(x%d==0){prim=false;break;}
//        }
//        if(prim)  t++;
//       }
//
//       fo <<t;
//    return 0;
//}
//// nraparitii www.pbinfo.ro
//#include <fstream>
//using namespace std;
//ifstream fi("nraparitii.in");
//ofstream fo("nraparitii.out");
//int k,i,n,maxi,a[1001];
//
//int main()
//{
//    fi>>n;
//    for(i=1;i<=n;i++)fi>>a[i];
//    for(i=1;i<=n;i++)
//        if(a[i]==a[n])k++;
//     fo<<k;
//    return 0;
//}
//// minmax www.pbinfo.ro
//#include <fstream>
//using namespace std;
//ifstream fi("minmax.in");
//ofstream fo("minmax.out");
//int mini,i,n,maxi,a[1001];
//
//int main()
//{
//    fi>>n;
//    for(i=1;i<=n;i++)fi>>a[i];
//    mini=a[1];
//    for(i=1;i<=n;i++)
//        if(a[i]<mini)mini=a[i];
//    for(i=1;i<=n;i++)
//        if(a[i]>maxi)maxi=a[i];
//     fo<<mini<<" "<<maxi;
//    return 0;
//}
//// majoritar www.pbinfo.ro
//#include <iostream>//100p
//using namespace std;
//int k,majoritar,i,n,t,a[100001];
//
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    majoritar=a[1];
//    for(i=1;i<=n;i++)
//      {if(a[i]==majoritar)k++;
//        else k--;
//        if(k==0){majoritar=a[i];k=1;}
//      }
//    for(i=1;i<=n;i++)
//        if(a[i]==majoritar)t++;
//    if(t>n/2)cout<<"DA "<<majoritar;
//     else cout<<"NU";
//    return 0;
//}
//// inserareDupa  www.pbinfo.ro
//#include <iostream>//100p
//using namespace std;
//int i,n,t,a[1001],b[1001];
//
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    for(i=1;i<=n;i++)
//      {
//          b[++t]=a[i];
//          if(a[i]%2==0)b[++t]=a[i]*2;
//      }
//    for(i=1;i<=t;i++)
//        cout<<b[i]<<" ";
//    return 0;
//}
//// numarMunte  www.pbinfo.ro stergeti el prime
//#include <iostream>//100p
//using namespace std;
//int c,n,i,j,t, x,d,k,a[1001];
//bool prim;
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    for(i=1;i<=n;i++)
//       {
//        x=a[i];k=0;t=0;
//        c=x%10;x=x/10;
//        while(c<x%10&&x>0){c=x%10;x=x/10;k++;}
//        while(c>x%10&&x>0){c=x%10;x=x/10;t++;}
//        if(t&&k&&x==0)cout<<1<<endl;
//         else cout<<0<<endl;
//       }
//    return 0;
//}
//// sterge  www.pbinfo.ro stergeti el prime
//#include <iostream>//100p
//#include<cmath>
//using namespace std;
//int n,i,j,t, x,d,rad,a[1001];
//bool prim;
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    for(i=1;i<=n;i++)
//       {
//        x=a[i];
//        if(x==0 or x==1)prim=false;
//        if(x==2)prim=true;
//        if(x>2){
//            prim=true;
//            rad=sqrt(x);
//            for(d=2;d<=rad;d++)
//            if(x%d==0){prim=false;break;}
//        }
//        if(prim)  {for(j=i;j<n;j++)a[j]=a[j+1];n--;i--;}
//       }
//    for(i=1;i<=n;i++)
//       cout <<a[i]<<" ";
//    return 0;
//}
////PermCirc www.pbinfo.ro
//#include <iostream>
//using namespace std;
//int t,p,s,n,i,x,k,a[1001];
//int main()
//{
//    cin>>n;
//    for(i=1; i<=n; i++)cin>>a[i];
//    for(t=1; t<=n; t++)
//    {
//        for(i=1; i<=n; i++) cout<<a[i]<<" ";
//        cout<<endl;
//        x=a[1];
//        for(i=1; i<n; i++)
//            a[i]=a[i+1];
//        a[n]=x;
//    }
//    return 0;
//}
////inserareInainte www.pbinfo.ro
//#include <iostream>
//#include<cmath>
//using namespace std;
//int m,maxi,cnt,n,i,x,k,j,a[101][1001];
//int main()
//{
//    cin>>m>>n;
//    for(i=1;i<=m;i++)
//       for(j=1;j<=n;j++)
//             cin>>a[i][j];
//
//    for(i=1;i<=m;i++)
//       for(j=1;j<=n;j++)
//             if(maxi<a[i][j])maxi=a[i][j];
//
//    for(i=1;i<=m;i++){
//       k=0;
//       for(j=1;j<=n;j++)
//             if(maxi==a[i][j])k++;
//       if(k>0)cnt++;
//     }
//    cout<<maxi<<" "<<cnt;
//    return 0;
//}
////inserareInainte www.pbinfo.ro
//#include <iostream>
//#include<cmath>
//using namespace std;
//int p,s,n,i,x,k,j,a[1001];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//
//    for(i=1;i<=n;i++)
//        if(sqrt(a[i])==(int)sqrt(a[i]))
//           {
//             for(j=n;j>=i;j--)a[j+1]=a[j];
//             a[i]=sqrt(a[i]);
//             n++;
//             i++;
//           }
//    for(i=1;i<=n;i++)
//        cout<<a[i]<<" ";
//    return 0;
//}
////inserare www.pbinfo.ro
//#include <iostream>
//using namespace std;
//int p,s,n,i,x,k,a[1001];
//int main()
//{
//    cin>>n>>x>>p;
//    for(i=1;i<=n;i++)cin>>a[i];
//
//    for(i=n;i>=p;i--)
//      a[i+1]=a[i];
//    a[p]=x;
//    n++;
//    for(i=1;i<=n;i++)
//        cout<<a[i]<<" ";
//    return 0;
//}
////inlociure  www.pbinfo.ro
//#include <iostream>
//using namespace std;
//int med,s,n,i,j,k,a[1001];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//
//    for(i=1;i<=n;i++)
//      if(a[i]!=0){s+=a[i];k++;}
//    med=s/k;
//    for(i=1;i<=n;i++)
//        if(a[i]==0)a[i]=med;;
//    for(i=1;i<=n;i++)
//        cout<<a[i]<<" ";
//    return 0;
//}
//// numarare3  www.pbinfo.ro
//#include <iostream>
//using namespace std;
//int n,i,j,k;
//int x,y,a[1001];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    for(i=1;i<=n;i++)
//    {
//        x=a[i];y=a[n];
//        while(x!=y)
//            if(x>y)x=x-y;
//             else y=y-x;
//        if(x==1)k++;
//    }
//    cout <<k;
//    return 0;
//}
//// constr1  www.pbinfo.ro
//#include <iostream>
//using namespace std;
//int s,n,i,j,t,a[1001],b[1001];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    for(i=1;i<=n;i++)s+=a[i];
//
//    for(i=1;i<=n;i++)b[i]=s-a[i];
//
//    for(i=1;i<=n;i++)   cout <<b[i]<<" ";
//    return 0;
//}
//// constr2  www.pbinfo.ro af el prime in ordine inversa
//#include <iostream>//100p
//#include<cmath>
//using namespace std;
//int n,i,j,t, x,d,rad,a[1001],b[1001];
//bool prim;
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    for(i=1;i<=n;i++)
//       {
//        x=a[i];
//        if(x==0 or x==1)prim=false;
//        if(x==2)prim=true;
//        if(x>2){
//            prim=true;
//            rad=sqrt(x);
//            for(d=2;d<=rad;d++)
//            if(x%d==0){prim=false;break;}
//        }
//        if(prim)  b[++t]=x;
//       }
//    for(i=t;i>=1;i--)
//       cout <<b[i]<<" ";
//    return 0;
//}
//// constr2  www.pbinfo.ro af el prime in ordine inversa
//#include <iostream>//60p
//#include<cmath>
//using namespace std;
//int k,n,i,j,t, x,d,rad,a[1001],b[1001];
//bool prim;
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    for(i=1;i<=n;i++)
//       {
//        x=a[i];k=0;
//        for(d=2;d<=x/2;d++)
//            if(x%d==0)k++;
//        if(k==0)  b[++t]=x;
//       }
//    for(i=t;i>=1;i--)
//       cout <<b[i]<<" ";
//    return 0;
//}
//// constr  www.pbinfo.ro
//#include <iostream>
//using namespace std;
//int n,i,j,k;
//int x,s,y,a[1001],b[1001];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    for(i=1;i<=n;i++)
//       {
//        x=a[i];s=0;
//        while(x){
//            s+=x%10;
//            x=x/10;
//        }
//        b[i]=a[i]%s;
//       }
//    for(i=1;i<=n;i++)
//       cout <<b[i]<<" ";
//    return 0;
//}

//// numarare5  www.pbinfo.ro
//#include <iostream>
//using namespace std;
//int n,i,j,k,sx,sy;
//int x,y,a[1001];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    for(i=1;i<=n;i++)
//     for(j=i+1;j<=n;j++)
//       {
//        x=a[i];sx=0;
//        while(x){
//            sx+=x%10;
//            x=x/10;
//        }
//        y=a[j];sy=0;
//        while(y){
//            sy+=y%10;
//            y=y/10;
//        }
//        if(sx==sy)k++;
//       }
//    cout <<k;
//    return 0;
//}
//// numarare3  www.pbinfo.ro
//#include <iostream>
//using namespace std;
//int n,i,j,k;
//int x,y,a[1001];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    i=1;j=n;
//    while(i<j)
//    {
//        x=a[i];y=a[j];
//        while(x!=y)
//            if(x>y)x=x-y;
//             else y=y-x;
//        if(x==1)k++;
//        i++;j--;
//    }
//    cout <<k;
//    return 0;
//}
//// numarare7  www.pbinfo.ro
//#include <iostream>
//using namespace std;
//int s,n,i,j,k;
//float x,y,a[1001];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//    x=a[1];y=a[n];
//    if(x>y)swap(x,y);
//    for(i=1;i<=n;i++)
//      if(a[i]<x or a[i]>y)k++;
//    cout <<k;
//    return 0;
//}
////numarare2 www.pbinfo.ro
//#include <iostream>
//using namespace std;
//int s,n,i,j,k,a[1001];
//float med;
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//
//    for(i=1;i<=n;i++)
//      s+=a[i];
//    med=(float)s/n;
//    for(i=1;i<=n;i++)
//        if(a[i]>med)k++;
//    cout <<k;
//    return 0;
//}
////suma2 www.pbinfo.ro (suma de la primul par si ultimul par)
//#include <iostream>
//using namespace std;
//int s,n,i,j,ip,iq,mini,maxi,a[1001];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//
//    for(i=1;i<=n;i++)
//      if(a[i]%2==0){ip=i;break;}
//    for(i=n;i>=1;i--)
//      if(a[i]%2==0){iq=i;break;}
//
//   if(ip==0)cout<<"NU EXISTA";
//   else { for(i=ip;i<=iq;i++)s+=a[i];cout << s;}
//    return 0;
//}
////numere6 www.pbinfo.ro (cate el. sunt = maxi-mini)
//#include <iostream>
//using namespace std;
//int k,dif,n,i,j,imin,imax,mini,maxi,a[1001];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//
//    mini=a[1];
//    for(i=1;i<=n;i++)
//      if(a[i]<mini)mini=a[i];
//
//    maxi=a[1];
//    for(i=1;i<=n;i++)
//      if(a[i]>maxi)maxi=a[i];
//
//   dif=maxi-mini;
//   for(i=1;i<=n;i++)
//    if(a[i]==dif)k++;
//   cout << k;
//    return 0;
//}
////pozminmax www.pbinfo.ro
//#include <iostream>
//using namespace std;
//int n,i,j,imin,imax,mini,maxi,a[1001];
//int main()
//{
//    cin>>n;
//    for(i=1;i<=n;i++)cin>>a[i];
//
//    mini=a[1];imin=1;
//    for(i=1;i<=n;i++)
//      if(a[i]<mini){mini=a[i];imin=i;}
//
//    maxi=a[1];imax=1;
//    for(i=1;i<=n;i++)
//      if(a[i]>maxi){maxi=a[i];imax=i;}
//
//    cout << imin<<" " << imax;
//    return 0;
//}