public int stick (long a) { ArrayList<Long> list=new ArrayList<>(); list.add(1l); list.add(1l); long count=a-2; while(true) { int k=list.size()-1; long n=list.get(k)+list.get(--k); if(count<n) break; else { list.add(n); count-=n; } } return list.size(); }