# Processing JS (modified) 121 bytes var g="1N23456",a="",c=0; for(var i=0;i<a.length;i++){if(a[i]==="d"&&c>0){c--;}else if(c<6&&a[i]==="u"){c++;}}println(g[c]); Ungolfed var g=[1,"N",2,3,4,5,6],a="",c=0; for(var i=0;i<a.length;i++) {if(a[i]==="d"&&c>0) { c--; }else if(c<6&&a[i]==="u") { c++; } } println(g[c]); [Try it online!](https://www.khanacademy.org/computer-programming/new-program/5820138749755392) I went with PJs since I know it well. The only problem is the version I use is _very_ strictly typed. I can't leave out brackets and lots of other tricks. It is pretty simple. The input should go into the variable `a` and it takes lowercase `u d`. The program loops until it hits the end of the string and every iteration it checks to see if it is a u or a d. If it is and it won't try and "shift" past where you can it shifts. At the end I print the results!