#include "stdafx.h"
#include<string>
#include<iostream>
using namespace::std;
int blocksize=2^20;
int blocknum=2^12;
int *blocks=new int[blocknum];
char *arrayl=new char[blocksize/8];
void findopenNumber()
{
int starting =-1;
int v;
while(cin>>v)
{
blocks[v/(8*strlen(arrayl))]++;
}
for(int i=0;i<blocknum;i++)
{
if(blocks[i]<strlen(arrayl)*8)
{
starting=i*8*strlen(arrayl);
break;
}
}
while(cin>>v)
{
if(v>=starting&&v<starting+strlen(arrayl)*8)
{
arrayl[(v-starting)/8]|=1<<((v-starting)%8);
}
}
for(int i=0;i<strlen(arrayl);i++)
{
for(int j=0;j<8;j++)
{
if((arrayl[i]&(1<<j))==0)
{
cout<<i*8+j+starting<<endl;
return;
}
}
}
}
#include<string>
#include<iostream>
using namespace::std;
int blocksize=2^20;
int blocknum=2^12;
int *blocks=new int[blocknum];
char *arrayl=new char[blocksize/8];
void findopenNumber()
{
int starting =-1;
int v;
while(cin>>v)
{
blocks[v/(8*strlen(arrayl))]++;
}
for(int i=0;i<blocknum;i++)
{
if(blocks[i]<strlen(arrayl)*8)
{
starting=i*8*strlen(arrayl);
break;
}
}
while(cin>>v)
{
if(v>=starting&&v<starting+strlen(arrayl)*8)
{
arrayl[(v-starting)/8]|=1<<((v-starting)%8);
}
}
for(int i=0;i<strlen(arrayl);i++)
{
for(int j=0;j<8;j++)
{
if((arrayl[i]&(1<<j))==0)
{
cout<<i*8+j+starting<<endl;
return;
}
}
}
}