CLOSED HASHING

#define EMPTY __________
#define DELETED __________
#define max 1100
#define setSize 20
typedef struct
{
unsigned long ID;
char Lname[16],Fname[24],MI;
char course[8],year;
}Student;
typedef struct
{
Student Stud;
int link /*used to link to next synonyms*/
}ctype;
typedef struct
{
ctype Header[max];
int avail; /*stores the index of the first available cell in the synonym area*/
}*Dictionary;
typedef unsigned long int BitVect;
typedef struct
{
unsigned long IDS[setSize];
int last; /*index of last element in the set*/
}*Set;
Do the following:
1. Write an appropriate definition of the EMPTY and DELETED macros.
2. Write the code of the function IsMemElements() - the function will determine if the given elements represented by a set of ID numbers are stored in the dictionary. The function will store the result in a set implemented using bit-vector and will return the result to the calling function.
Note: use EMPTY or DELETED if needed.
*Assume a hash function H exists and it accepts an ID as parameter.