#include <stdio.h>
#include <assert.h>

#define MAX 100

void LeSequencia( double S[], int n );
void ImprimeSequencia( double S[], int n );
int  BuscaBinaria( double x, int n, double c[] );

int main()
{
  double x, conjunto[MAX];
  int n;

  scanf( "%lf", &x );

  scanf( "%d", &n );
  assert( n <= MAX );

  LeSequencia( conjunto, n );

  if ( BuscaBinaria( x, n, conjunto ) )
    printf( "%g pertence ao conjunto de %d elementos.\n", x, n );
  else
    printf( "%g NAO pertence ao conjunto de %d elementos.\n", x, n );

  return 0;
}


void LeSequencia( double S[], int n ) {
  int i;
  for ( i = 0; i < n; i++)
    scanf("%lf", &S[i]);
  return;
}

void ImprimeSequencia( double S[], int n ) {
  int i;
  for ( i = 0; i < n; i++)
    printf( "%7.3g ", S[i] );
  printf( "\n" );
  return;
}

int BuscaBinaria( double x, int n, double c[] ) {
  int i,f; /* inicio e fim do intervalo de busca [ i, f [ */
  int m; /* ponto medio do intervalo */

  i = 0; f = n;
  while ( f - i >= 2 ) {/*intervalo de busca com >=2 eltos*/
    printf( "[%d,%d[\n", i, f );
    m = (i + f) / 2;
    assert( m != f  &&  m != i );
    if ( x < c[m] )
      f = m;  /* novo intervalo de busca: [ i, m [ */
    else
      i = m;  /* novo intervalo de busca: [ m, f [ */
  }
  printf( "[%d,%d[\n", i, f );
  assert( f-i == 1 );
  return (c[i]==x); /* if(c[i]==x)return 1; else return 0 */
}