/*
TASK: trees
LANG: C
*/
#include <stdio.h>
#define MAX 30000

int prev[MAX+2]={0},cnt;
int used[MAX+2]={0};
int ans[MAX+2]={0};

int main ()
{
    int i,j,n,nest,k,per,fl=0;
    double rest,percent,m;
    
    used[0]=1;
    scanf ("%d %d %d",&n,&k,&per);
    for (i=1;i<=n;i++)
        scanf ("%d",&prev[i]);
    cnt=n;
    for (i=0;i<k;i++)
        {
            scanf ("%d",&nest);
            while (!used[nest])
                {
                    used[nest]=1;
                    nest=prev[nest];
                    cnt--;
                }
        }
        
    rest=(double)cnt/(double)n;
    percent=per*0.01;
    
    if (rest<percent)
        {
            printf ("%d\n",cnt);
            return 0;
        }
    for (i=n;(double)(ans[0])/(double)n<percent;i--)
        if (!used[i])
            ans[++ans[0]]=i;
    for (i=ans[0];i>0;i--)
        if (!fl)
            {
                printf ("%d",ans[i]);
                fl=1;
            }
        else
            printf (" %d",ans[i]);
    if (!fl)
        printf ("0");
    printf ("\n");
            
    return 0;
}
