import java.util.PriorityQueue; import java.util.Scanner; public class Main { static int[] tatesum,yokosum; public static void main(String[] args){ // TODO 自動生成されたメソッド・スタブ Scanner sc = new Scanner(System.in); int siro = sc.nextInt(); int[] siros = new int[siro]; for(int i=0;i siroque = new PriorityQueue<>(); PriorityQueue kuroque = new PriorityQueue<>(); for(int i=0;i=now){ kuroque.poll(); if(kuroque.isEmpty()) break; } if(kuroque.isEmpty()) break; now=-kuroque.poll(); count++; flag*=-1; }else{ while(-siroque.peek()>=now){ siroque.poll(); if(siroque.isEmpty()) break; } if(siroque.isEmpty()) break; now=-siroque.poll(); count++; flag*=-1; } } ans=count; //kuro siroque = new PriorityQueue<>(); kuroque = new PriorityQueue<>(); for(int i=0;i=now){ kuroque.poll(); if(kuroque.isEmpty()) break; } if(kuroque.isEmpty()) break; now=-kuroque.poll(); count++; flag*=-1; }else{ while(-siroque.peek()>=now){ siroque.poll(); if(siroque.isEmpty()) break; } if(siroque.isEmpty()) break; now=-siroque.poll(); count++; flag*=-1; } } ans=Math.max(ans,count); System.out.println(ans); } }