importPackage(java.io);
importPackage(java.lang);
 
function recursiveSum(a) {
  sum = 0;
  for (i=0;i<a.length; ++i) {
      if (typeof a[i] === "number") {
          sum += a[i];
      } else if (a[i] instanceof Array) {
          sum += recursiveSum(a[i]);
      }
  }
  return sum;
}
function arraySum(i) {
 
    // i will be an array, containing integers, strings and/or arrays like itself.
    // Sum all the integers you find, anywhere in the nest of arrays.
 
    return recursiveSum(i);
}
 
 
print(arraySum([[1,2,3],4,5]))
				aW1wb3J0UGFja2FnZShqYXZhLmlvKTsKaW1wb3J0UGFja2FnZShqYXZhLmxhbmcpOwoKZnVuY3Rpb24gcmVjdXJzaXZlU3VtKGEpIHsKICBzdW0gPSAwOwogIGZvciAoaT0wO2k8YS5sZW5ndGg7ICsraSkgewogICAgICBpZiAodHlwZW9mIGFbaV0gPT09ICJudW1iZXIiKSB7CiAgICAgICAgICBzdW0gKz0gYVtpXTsKICAgICAgfSBlbHNlIGlmIChhW2ldIGluc3RhbmNlb2YgQXJyYXkpIHsKICAgICAgICAgIHN1bSArPSByZWN1cnNpdmVTdW0oYVtpXSk7CiAgICAgIH0KICB9CiAgcmV0dXJuIHN1bTsKfQpmdW5jdGlvbiBhcnJheVN1bShpKSB7CiAgICAKICAgIC8vIGkgd2lsbCBiZSBhbiBhcnJheSwgY29udGFpbmluZyBpbnRlZ2Vycywgc3RyaW5ncyBhbmQvb3IgYXJyYXlzIGxpa2UgaXRzZWxmLgogICAgLy8gU3VtIGFsbCB0aGUgaW50ZWdlcnMgeW91IGZpbmQsIGFueXdoZXJlIGluIHRoZSBuZXN0IG9mIGFycmF5cy4KICAgIAogICAgcmV0dXJuIHJlY3Vyc2l2ZVN1bShpKTsKfQoKCnByaW50KGFycmF5U3VtKFtbMSwyLDNdLDQsNV0pKQ==