A team quiz game called "What? Where? When?" is very popular in Berland. The game is centered on two teams competing. They are the team of six Experts versus the team of the Audience. A person from the audience asks a question and the experts are allowed a minute on brainstorming and finding the right answer to the question. All it takes to answer a typical question is general knowledge and common logic. The question sent be the audience are in envelops lain out in a circle on a round table. Each envelop is marked by the name of the asker's town. Each question is positioned in a separate sector. In the centre of the table is a spinning arrow. Thus, the table rather resembles a roulette table with no ball but with a spinning arrow instead. The host sets off the spinning arrow to choose a question for the experts: when the arrow stops spinning, the question it is pointing at is chosen. If the arrow points at the question that has already been asked, the host chooses the next unanswered question in the clockwise direction. Your task is to determine which will be the number of the next asked question if the arrow points at sector number k.

Input

The first line contains two positive integers n and k (1 ≤ n ≤ 1000 and 1 ≤ k ≤ n) — the numbers of sectors on the table and the number of the sector where the arrow is pointing. The second line contains n numbers: ai = 0 if the question from sector i has already been asked and ai = 1 if the question from sector i hasn't been asked yet (1 ≤ i ≤ n). The sectors are given in the clockwise order, the first sector follows after the n-th one.

Output

Print the single number — the number of the sector containing the question the experts will be asked. It is guaranteed that the answer exists, that is that not all the questions have already been asked.

Examples

Input

5 5
0 1 0 1 0


Output

2


Input

2 1
1 1


Output

1
import java.io.*;
import java.util.*;
import java.math.*;

import static java.lang.Math.*;

public class Main implements Runnable {

    StreamTokenizer in;
    BufferedReader reader;
    PrintWriter out;
    StringTokenizer tok;
    Scanner sc;
    boolean timus = true;//System.getProperty("ONLINE_JUDGE")!=null;
    boolean codeforces = false;
    final double eps = 1e-9;
    
    public static void main(String[] args) throws Exception {
        new Thread(new Main()).start();
    }
    
    @Override
    public void run() {
        try {
            if (codeforces) {
                sc = new Scanner(System.in);
                reader = new BufferedReader(new InputStreamReader(System.in));
                in = new StreamTokenizer(reader);
                out= new PrintWriter (new OutputStreamWriter(System.out));
                tok = new StringTokenizer("");
                solve();
                out.flush();
            } else
                if (timus) {
                    sc = new Scanner("input.txt");
                    reader = new BufferedReader(new FileReader("input.txt"));
                    in = new StreamTokenizer(reader);
                    out= new PrintWriter (new FileWriter("output.txt"));
                    tok = new StringTokenizer("");
                    solve();
                    out.flush();
                    out.close();
                } else
                    if (!timus) {
                long begMem = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
                long t1 = System.currentTimeMillis();
                reader = new BufferedReader(new InputStreamReader(System.in));
                in = new StreamTokenizer(reader);
                sc = new Scanner(System.in);
                out= new PrintWriter (new OutputStreamWriter(System.out));
                tok = new StringTokenizer("");
                solve();
                long endMem = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
                out.flush();
                long t2 = System.currentTimeMillis();
                System.out.println("Time:"+(t2-t1));
                System.out.println("Memory:"+(endMem-begMem));
                System.out.println("Total memory: " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()));
            }
        }
        catch (Exception ex) {
            System.out.println("fail");
            System.exit(1);
        }
    }
    
    public class Chess {
        String coord;
        
        public Chess(String s){
            this.coord=s;
        }
        
        public int toInteger(char s) {
            if (s=='a'||s=='A') return 1;
            else if (s=='b'||s=='B') return 2;
            else if (s=='c'||s=='C') return 3;
            else if (s=='d'||s=='D') return 4;
            else if (s=='e'||s=='E') return 5;
            else if (s=='f'||s=='F') return 6;
            else if (s=='g'||s=='G') return 7;
            else if (s=='h'||s=='H') return 8;
            else return -1;
        }
        
        public String toString(int s) {
            if (s==1) return "a";
            else if (s==2) return "b";
            else if (s==3) return "c";
            else if (s==4) return "d";
            else if (s==5) return "e";
            else if (s==6) return "f";
            else if (s==7) return "g";
            else if (s==8) return "h";
            else return "0";
        }
        
        public pair getPair() {
            String j="";
            j+=coord.charAt(1);
            pair p = new pair(toInteger(coord.charAt(0)),Integer.parseInt(j));
            if (p.x!=-1)
            return p; else
                return new pair(0,0);
        }
        
        public String returnPair(pair p) {
            return toString(p.x)+p.y;
        }
    }
    
    public int nextInt() throws Exception {
        in.nextToken();
        return (int) in.nval;
    }
    
    public String next() throws Exception {
        in.nextToken();
        return in.sval;
    }
    
    public String nextLine() throws Exception {
        return reader.readLine();
    }
    
    public String nextString() throws Exception {
        while (!tok.hasMoreTokens())
            tok = new StringTokenizer(reader.readLine());
        return tok.nextToken();
    }
    
    public long nextLong() throws Exception {
        return Long.parseLong(nextString());
    }
    
    public double nextDouble() throws Exception {
        in.nextToken();
        return in.nval;
    }
    
    public class pair {
        int x;
        int y;
        
        public pair(int x, int y) {
            this.x=x;
            this.y=y;
        }
    }
    
    public int gcd(int a, int b) {
        if (a== 0||b==0) return 1;
        if (a<b) {
                int c=b;
                b=a;
                a=c;
        }
        while (a%b!=0) {
                a =a%b;
                if (a<b) {
                        int c=b;
                        b=a;
                        a=c;
                }
        }
        return b;
    }
    
     public int pow(int a, int n) {
         if (n==0) return 1;
         int k=n, b=1, c=a;
         while (k!=0) {
                 if (k%2==0) {
                         k/=2;
                         c*=c;
                 } else {
                         k--;
                         b*=c;
                 }
         }
         return b;
     }
    
    public int lcm(int a, int b) {
        return a*b/gcd(a,b);
    }
    
    public class pairs implements Comparable<pairs> {
        int x;
        int y;
        
        public pairs(int x, int y) {
            this.x=x;
            this.y=y;
        }

        @Override
        public int compareTo(pairs obj) {
            if (this.x<((pairs)obj).x) return 1;
            else if (this.x==(obj).x&&this.y<(obj).y) return 1;
            else if (this.x==(obj).x&&this.y==(obj).y)return 0; else
                return -1;
        }   
    }
    
    public class Graf {
        
        int [][] a;
        int [] colors;
        ArrayList <String> points = new ArrayList<String>();
        LinkedList <Integer> queue = new LinkedList <Integer>();
        boolean [] used;
        boolean cycle;
        int numberOfCycle;
        
        public Graf(int [][]a,String s[]) {
            this.a=new int [s.length][s.length];
            this.a=a;
            this.colors=new int [s.length];
            this.used=new boolean[s.length];
            for (int i=0; i<s.length;i++) {
                this.colors[i]=0;
                this.points.add(s[i]);
            }
            Arrays.fill(this.used, false);
        }
        
        public void bfs(int i) {
            this.queue.add(i);
            while (!this.queue.isEmpty())
            {
                i = this.queue.pop();
                out.print(points.get(i)+" ");
                this.used[i]=true;
                for (int j=0; j<this.points.size();j++) {
                    if (this.a[i][j]==1&&!this.queue.contains(j)&&!this.used[j]) {
                        this.a[i][j]=0;
                        this.a[j][i]=0;
                        this.queue.addLast(j);
                    }
                }
            }
        }
        
        public void dfs(int i) {
            this.colors[i]=1;
            out.print(points.get(i)+" ");
            for (int j=0; j<this.colors.length;j++) {
                if (this.a[i][j]==1&&this.colors[j]==0) {
                    this.colors[j]=1;
                    this.a[i][j]=0;
                    this.a[j][i]=0;
                    dfs(j);
                } else if (this.a[i][j]==1&&this.colors[j]==1) {
                    this.cycle=true;
                    this.numberOfCycle++;
                }
            }
            this.colors[i]=2;
        }   
    }
    
    public class Time {
        
        int h;
        int min;
        int sec;
        
        public Time(String s) {
            String [] st = s.split(":");
            this.h =Integer.parseInt(st[0]);
            this.min =Integer.parseInt(st[1]);
            this.sec =(st[2]!=null)? Integer.parseInt(st[2]):0;
        }
        
        public String toString(int a) {
            String h = Integer.toString(this.h);
            String min = Integer.toString(this.min);
            String sec = Integer.toString(this.sec);
            if (h.length()==1) {
                h='0'+h;
            }
            if (min.length()==1) {
                min='0'+min;
            }
            if (sec.length()==1) {
                sec='0'+sec;
            }
            if (a==5) {
                return h+":"+min;
            } else {
                return h+":"+min+":"+sec;
            }
        }
        
        public void to12HoursFormat () {
            h%=12;
        }
        
        public void add (int  h,int min,int s) {
            this.sec+=s;
            if (this.sec>=60) {
                this.min++;
                this.sec%=60;
            }
            this.min+=min;
            if (this.min>=60) {
                this.h++;
                this.min%=60;
            }
            this.h+=h;
            if (this.h>=24) {
                this.h%=24;
            }
        }
    }
    
    public int[] findPrimes(int x) {
        boolean[] erat = new boolean[x-1];
        List<Integer> t = new ArrayList<Integer>();
        int l=0, j=0;
        for (int i=2;i<x; i++) {
                if (erat[i-2]) continue;
                t.add(i);
                l++;
                j=i*2;
                while (j<x) {
                        erat[j-2]=true;
                        j+=i;
                }
        }
        int[] primes = new int[l];
        Iterator<Integer> iterator = t.iterator();
        for (int i = 0; iterator.hasNext(); i++) {
                primes[i]=iterator.next().intValue();
        }
        return primes;
    }
    
    public double dist(pair a,pair b) {
        return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
    }
    
    int max_val=Integer.MIN_VALUE;
    
    public void dfs (int current, int prev, int max,int a[][]) {
        int n = a[0].length;
        for (int i=0; i<n;i++) {
            if (a[current][i]==1&&prev!=i) {
                dfs(i,current,max+1,a);
            }
        }
        max_val = max(max_val,max);
    }
    
    public void solve() throws Exception {
        int n = nextInt();
        int k = nextInt()-1;
        int a[] = new int [n];
        for (int i=0; i<n;i++) {
            a[i] = nextInt();
        }
        while (a[k]!=1) {
            k++;
            if (k==n) {
                k=0;
            }
        }
        out.println(k+1);
    }
}
