awk -M '\
NR==1{N=$1; K=$2}
NR==2{split($0,A)}
END{
    asort(A);
    for(i=1;i<=N;i++){
        if(A[i]>0){
            B[++b]=A[i]
        }else if(A[i]<0){
            C[++c]=-A[i]
        }else{
            Z[++z]=A[i]
        }
    }
    asort(B); asort(C);
    if(!b){
        if(z){
            print 0;exit
        }else{
            ans = 1
            for(i=1;i<=K;i++){
                ans *= C[i]
                ans %= 10^9+7
            }
            print 10^9+7-ans
            exit
        }
    }
    ans = 1;
    bb = b; cc = c
    for(i=1;i<=K;i++){
        if(B[bb]<C[cc] && C[cc]){
            ans *= C[cc]
            cc--
        }else if(B[bb]){
            ans *= B[bb]
            bb--
        }else{
            print 0;
            exit
        }
        if(i==K && (cc-1)%2 && cc){
            if(B[bb]){
                ans /= C[cc-1]
                ans *= B[bb]
            }else if(z){
                print 0;exit
            }
        }
        ans %= 10^9 + 7
    }
    print ans
}'