/* Auteur: Nicolas JANEY          */
/* nicolas.janey@univ-fcomte.fr   */
/* Fevrier 2005                   */

import java.io.*;

public class RechercheDichotomique {
  static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in));

  /* Fonction de creation d'un tableau trie d'entiers     */
  /* tires au hasard                                      */
  /* taille : nombre d'entiers du tableau                 */
  
  public static int [] tableauTrie(int taille) {
  /* Creation d'un tableau de taille entiers              */
    int [] t = new int[taille];
  /* Initialisation de t[0] avec un entier tire au sort   */
  /* dans l'intervalle [0,1]                              */
    t[0] =(int) (Math.random()*2);
  /* Pour toutes les valeurs restant a initialiser        */
    for ( int i = 1 ; i < t.length ; i++ )
  /* La valeur d'indice i est affectee avec la valeur     */
  /* d'indice i-1 a laquelle on ajoute une valeur         */
  /* tiree au sort dans l'intervalle [0,2]                */
      t[i] = t[i-1] + (int) (Math.random()*3);
  /* Resultat fonction : le tableau t ainsi initialise    */
    return(t);
  }

  /* Fonction d'affichage d'un tableau d'entiers          */
  /* t : tableau dont les valeurs doivent etre affichees  */
  
  public static void afficheTableau(int [] t) {
    int i;
    for ( i = 0 ; i < t.length ; i++ )
      System.out.print(t[i]+" ");
    System.out.println();
  }
  
  /* Fonction de recherche dichotomique de la position    */
  /* d'insertion d'un entier a l'interieur d'un tableau   */
  /* d'entiers trie                                       */
  /* t : Tableau ou la recherche est effectuee            */
  /* v : Valeur dont la position d'insertion est voulue   */
  
  public static int positionInsertion(int [] t,int v) {
    if ( v < t[0] )
      return(0);
    if ( v >= t[t.length-1] )
      return(t.length);
    int g = 1;
    int d = t.length-2;
    while ( g != d ) {
      int m = (g+d)/2;
      if ( t[m] <= v ) {
        g = m+1; }
        else {
        d = m; } }
    return(d);
  }
  
  /* Fonction principale                                  */
  
  public static void main(String [] args) throws IOException {
  /* Lecture au clavier du nombre de la taille du tableau */
    System.out.print("Taille du tableau    : ");
    int n = Integer.valueOf(flux.readLine()).intValue();
  /* Creation et affichage du tableau                     */
    int [] t = tableauTrie(n);
    System.out.println("Le tableau est       : ");
    afficheTableau(t);
  /* Lecture au clavier de la valeur a inserer            */
    System.out.print("Valeur               : ");
    int v = Integer.valueOf(flux.readLine()).intValue();
  /* Calcul et affichage de la position d'insertion       */
    System.out.println("Position d'insertion : "+positionInsertion(t,v));
  }
}