#define MaxSize 100


typedef int ElemType;

typedef struct{//
    ElemType *elem;
    int length;
}SqList;

bool InitList(SqList &L){
    L.elem = new ElemType[MaxSize];
    if(!L.elem) return false;
    L.length = 0;
    return true;
}

bool CreateList(SqList &L){
    int n;
    cin>>n;
    while(n--){
        if(L.length == MaxSize) return false;
        cin>>L.elem[L.length++];
    }
    return true;
}

bool GetElem(SqList L, int i, ElemType &e){
    if(i<1||i>L.length) return false;
    e = L.elem[i-1];
    return true;
}

int LocateElem(SqList L, ElemType e){
    int i = 0;
    while(i<L.length){
        if(e == L.elem[i]) return i+1;
        else i++;
    }
    return -1;
}

bool InsertElem(SqList &L, int i, ElemType &e){
    if(i<1 || i>L.length+1) return false;
    if(L.length == MaxSize) return false;
    for(int j=L.length-1;j>=-1i;j--)
    {
        L.elem[j+1] = L.elem[j];
    }
    L.elem[i-1] = e;
    L.length++;
    return true;
}

bool DeleteElem(SqList &L,int i, ElemType &e){
    if(i<1 || i>L.length+1) return false;
    e = L.elem[i-1];
    for(;i<L.length;i++)
    {
        L.elem[i-1] = L.elem[i];
    }
    L.length--;
    return true;
}