public class Count3Quit2 ...{ public static void main(String[] args) ...{ KidCircle kc = new KidCircle(500); int countNum = 0; Kid k = kc.first; while(kc.count > 1) ...{ countNum++; if(countNum == 3) ...{ countNum = 0; kc.delete(k); } k = k.right; } System.out.println(kc.first.id); }}class Kid ...{ int id; Kid left; Kid right;}class KidCircle ...{ int count = 0; Kid first, last; KidCircle(int n) ...{ for(int i=0; i<n; i++) ...{ add(); } } void add() ...{ Kid k = new Kid(); k.id = count; if(count <= 0) ...{ first = k; last = k; k.left = k; k.right = k; } else ...{ last.right = k; k.left = last; k.right = first; first.left = k; last = k; } count++; } void delete(Kid k) ...{ if(count <= 0) ...{ return; } else if (count == 1) ...{ first = last = null; } else ...{ k.left.right = k.right; k.right.left = k.left; if(k == first) ...{ first = k.right; } else if( k == last) ...{ last = k.left; } } count--; }}