/*
TASK: trees
LANG: C++
*/
#include<iostream>
using namespace std;
int arr[30002];
int arr2[30002];
int sol[30000];
int main ()
{
    int N, M, K;
    int br;
    cin>>N>>M>>K;
    for (int i=1; i<=N; i++)
        cin>>arr[i];        
    
    for (int p=1; p<=N; p++)
        sol[p]=1;
    br=N;
    
    for (int j=1; j<=M; j++)
        {
        cin>>arr2[M];        
        }
    for (int x=1; x<=M; x++)
        {
             int s=arr2[x];
             while ((s!=0) && (sol[s]!=0))
             {
                   sol[s]=0;
                   br=br-1;
                   s=arr[s];
             }
        }
    double r=(br*100)/N;
    int br2=0;
    int pom=0;
    if (r<K) cout<<br<<'\n';
    else
    {
        for (int i=N; i>0; i--)
            if (sol[i]==1)
            {
                br2++;
                r=(br2*100)/N;
                if (r>=K) { pom=i; break; }
            }
        for (int v=pom; v<=N; v++)
            if (sol[v]==1) cout<<v<<" ";
    }    
    return 0;
}

