Prompt:
<?php
// This function takes a list l and returns a list l' such that
// l' is identical to l in the odd indicies, while its values at the even indicies are equal
// to the values of the even indicies of l, but sorted.
function sort_even($l) {

function candidate(...$args) {
    return sort_even(...$args);
}

function test(): void {
    if (candidate(array(1, 2, 3)) !== array(1, 2, 3)) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10)) !== array(-10, 3, -5, 2, -3, 3, 5, 0, 9, 1, 123)) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 8, -12, 4, 23, 2, 3, 11, 12, -10)) !== array(-12, 8, 3, 4, 5, 2, 12, 11, 23, -10)) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// prime_fib returns n-th number that is a Fibonacci number and it's also prime.
function prime_fib($n) {

function candidate(...$args) {
    return prime_fib(...$args);
}

function test(): void {
    if (candidate(1) !== 2) { throw new Exception("Test failed!"); }
    if (candidate(2) !== 3) { throw new Exception("Test failed!"); }
    if (candidate(3) !== 5) { throw new Exception("Test failed!"); }
    if (candidate(4) !== 13) { throw new Exception("Test failed!"); }
    if (candidate(5) !== 89) { throw new Exception("Test failed!"); }
    if (candidate(6) !== 233) { throw new Exception("Test failed!"); }
    if (candidate(7) !== 1597) { throw new Exception("Test failed!"); }
    if (candidate(8) !== 28657) { throw new Exception("Test failed!"); }
    if (candidate(9) !== 514229) { throw new Exception("Test failed!"); }
    if (candidate(10) !== 433494437) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// You're given a list of deposit and withdrawal operations on a bank account that starts with
// zero balance. Your task is to detect if at any point the balance of account fallls below zero, and
// at that point function should return True. Otherwise it should return False.
function below_zero($operations) {

function candidate(...$args) {
    return below_zero(...$args);
}

function test(): void {
    if (candidate(array()) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, -3, 1, 2, -3)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, -4, 5, 6)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1, -1, 2, -2, 5, -5, 4, -4)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, -1, 2, -2, 5, -5, 4, -5)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1, -2, 2, -2, 5, -5, 4, -4)) !== true) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// triples_sum_to_zero takes a list of integers as an input.
// it returns True if there are three distinct elements in the list that
// sum to zero, and False otherwise.
function triples_sum_to_zero($l) {

function candidate(...$args) {
    return triples_sum_to_zero(...$args);
}

function test(): void {
    if (candidate(array(1, 3, 5, 0)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 3, 5, -1)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 3, -2, 1)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3, 7)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 5, 7)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(2, 4, -5, 3, 9, 7)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 3, 5, -100)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(100, 3, 5, -100)) !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Return list with elements incremented by 1.
function incr_list($l) {

function candidate(...$args) {
    return incr_list(...$args);
}

function test(): void {
    if (candidate(array()) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(array(3, 2, 1)) !== array(4, 3, 2)) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 2, 5, 2, 3, 3, 9, 0, 123)) !== array(6, 3, 6, 3, 4, 4, 10, 1, 124)) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// pairs_sum_to_zero takes a list of integers as an input.
// it returns True if there are two distinct elements in the list that
// sum to zero, and False otherwise.
function pairs_sum_to_zero($l) {

function candidate(...$args) {
    return pairs_sum_to_zero(...$args);
}

function test(): void {
    if (candidate(array(1, 3, 5, 0)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 3, -2, 1)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3, 7)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(2, 4, -5, 3, 5, 7)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(-3, 9, -1, 3, 2, 30)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(-3, 9, -1, 3, 2, 31)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(-3, 9, -1, 4, 2, 30)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(-3, 9, -1, 4, 2, 31)) !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Change numerical base of input number x to base.
// return string representation after the conversion.
// base numbers are less than 10.
function change_base($x, $base) {

function candidate(...$args) {
    return change_base(...$args);
}

function test(): void {
    if (candidate(8, 3) !== "22") { throw new Exception("Test failed!"); }
    if (candidate(9, 3) !== "100") { throw new Exception("Test failed!"); }
    if (candidate(234, 2) !== "11101010") { throw new Exception("Test failed!"); }
    if (candidate(16, 2) !== "10000") { throw new Exception("Test failed!"); }
    if (candidate(8, 2) !== "1000") { throw new Exception("Test failed!"); }
    if (candidate(7, 2) !== "111") { throw new Exception("Test failed!"); }
    if (candidate(2, 3) !== "2") { throw new Exception("Test failed!"); }
    if (candidate(3, 4) !== "3") { throw new Exception("Test failed!"); }
    if (candidate(4, 5) !== "4") { throw new Exception("Test failed!"); }
    if (candidate(5, 6) !== "5") { throw new Exception("Test failed!"); }
    if (candidate(6, 7) !== "6") { throw new Exception("Test failed!"); }
    if (candidate(7, 8) !== "7") { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Given length of a side and high return area for a triangle.
function triangle_area($a, $h) {

function candidate(...$args) {
    return triangle_area(...$args);
}

function test(): void {
    if (candidate(5, 3) !== 7.5) { throw new Exception("Test failed!"); }
    if (candidate(2, 2) !== 2.0) { throw new Exception("Test failed!"); }
    if (candidate(10, 8) !== 40.0) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fib4(0) -> 0
// fib4(1) -> 0
// fib4(2) -> 2
// fib4(3) -> 0
// fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
// Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
function fib4($n) {

function candidate(...$args) {
    return fib4(...$args);
}

function test(): void {
    if (candidate(5) !== 4) { throw new Exception("Test failed!"); }
    if (candidate(8) !== 28) { throw new Exception("Test failed!"); }
    if (candidate(10) !== 104) { throw new Exception("Test failed!"); }
    if (candidate(12) !== 386) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Return median of elements in the list l.
function median($l) {

function candidate(...$args) {
    return median(...$args);
}

function test(): void {
    if (candidate(array(3, 1, 2, 4, 5)) !== 3) { throw new Exception("Test failed!"); }
    if (candidate(array(-10, 4, 6, 1000, 10, 20)) !== 8.0) { throw new Exception("Test failed!"); }
    if (candidate(array(5)) !== 5) { throw new Exception("Test failed!"); }
    if (candidate(array(6, 5)) !== 5.5) { throw new Exception("Test failed!"); }
    if (candidate(array(8, 1, 3, 9, 9, 2, 7)) !== 7) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Checks if given string is a palindrome
function is_palindrome($text) {

function candidate(...$args) {
    return is_palindrome(...$args);
}

function test(): void {
    if (candidate("") !== true) { throw new Exception("Test failed!"); }
    if (candidate("aba") !== true) { throw new Exception("Test failed!"); }
    if (candidate("aaaaa") !== true) { throw new Exception("Test failed!"); }
    if (candidate("zbcd") !== false) { throw new Exception("Test failed!"); }
    if (candidate("xywyx") !== true) { throw new Exception("Test failed!"); }
    if (candidate("xywyz") !== false) { throw new Exception("Test failed!"); }
    if (candidate("xywzx") !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Return 2^n modulo p (be aware of numerics).
function modp($n, $p) {

function candidate(...$args) {
    return modp(...$args);
}

function test(): void {
    if (candidate(3, 5) !== 3) { throw new Exception("Test failed!"); }
    if (candidate(1101, 101) !== 2) { throw new Exception("Test failed!"); }
    if (candidate(0, 101) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(3, 11) !== 8) { throw new Exception("Test failed!"); }
    if (candidate(100, 101) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(30, 5) !== 4) { throw new Exception("Test failed!"); }
    if (candidate(31, 5) !== 3) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// For a given list of input numbers, calculate Mean Absolute Deviation
// around the mean of this dataset.
// Mean Absolute Deviation is the average absolute difference between each
// element and a centerpoint (mean in this case):
// MAD = average | x - x_mean |
function mean_absolute_deviation($numbers) {

function candidate(...$args) {
    return mean_absolute_deviation(...$args);
}

function test(): void {
    if (candidate(array(1.0, 2.0)) !== 0.5) { throw new Exception("Test failed!"); }
    if (candidate(array(1.0, 2.0, 3.0, 4.0)) !== 1.0) { throw new Exception("Test failed!"); }
    if (candidate(array(1.0, 2.0, 3.0, 4.0, 5.0)) !== 1.2) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// remove_vowels is a function that takes string and returns string without vowels.
function remove_vowels($text) {

function candidate(...$args) {
    return remove_vowels(...$args);
}

function test(): void {
    if (candidate("") !== "") { throw new Exception("Test failed!"); }
    if (candidate("abcdef\nghijklm") !== "bcdf\nghjklm") { throw new Exception("Test failed!"); }
    if (candidate("fedcba") !== "fdcb") { throw new Exception("Test failed!"); }
    if (candidate("eeeee") !== "") { throw new Exception("Test failed!"); }
    if (candidate("acBAA") !== "cB") { throw new Exception("Test failed!"); }
    if (candidate("EcBOO") !== "cB") { throw new Exception("Test failed!"); }
    if (candidate("ybcd") !== "ybcd") { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Return True if all numbers in the list l are below threshold t.
function below_threshold($l, $t) {

function candidate(...$args) {
    return below_threshold(...$args);
}

function test(): void {
    if (candidate(array(1, 2, 4, 10), 100) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 20, 4, 10), 5) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 20, 4, 10), 21) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 20, 4, 10), 22) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 8, 4, 10), 11) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 8, 4, 10), 10) !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Add two numbers x and y
function add($x, $y) {

function candidate(...$args) {
    return add(...$args);
}

function test(): void {
    if (candidate(0, 1) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(1, 0) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(2, 3) !== 5) { throw new Exception("Test failed!"); }
    if (candidate(5, 7) !== 12) { throw new Exception("Test failed!"); }
    if (candidate(7, 5) !== 12) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Check if two words have the same characters.
function same_chars($s0, $s1) {

function candidate(...$args) {
    return same_chars(...$args);
}

function test(): void {
    if (candidate("eabcdzzzz", "dddzzzzzzzddeddabc") !== true) { throw new Exception("Test failed!"); }
    if (candidate("abcd", "dddddddabc") !== true) { throw new Exception("Test failed!"); }
    if (candidate("dddddddabc", "abcd") !== true) { throw new Exception("Test failed!"); }
    if (candidate("eabcd", "dddddddabc") !== false) { throw new Exception("Test failed!"); }
    if (candidate("abcd", "dddddddabcf") !== false) { throw new Exception("Test failed!"); }
    if (candidate("eabcdzzzz", "dddzzzzzzzddddabc") !== false) { throw new Exception("Test failed!"); }
    if (candidate("aabb", "aaccc") !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Return n-th Fibonacci number.
function fib($n) {

function candidate(...$args) {
    return fib(...$args);
}

function test(): void {
    if (candidate(10) !== 55) { throw new Exception("Test failed!"); }
    if (candidate(1) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(8) !== 21) { throw new Exception("Test failed!"); }
    if (candidate(11) !== 89) { throw new Exception("Test failed!"); }
    if (candidate(12) !== 144) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// brackets is a string of "<" and ">".
// return True if every opening bracket has a corresponding closing bracket.
function correct_bracketing($brackets) {

function candidate(...$args) {
    return correct_bracketing(...$args);
}

function test(): void {
    if (candidate("<>") !== true) { throw new Exception("Test failed!"); }
    if (candidate("<<><>>") !== true) { throw new Exception("Test failed!"); }
    if (candidate("<><><<><>><>") !== true) { throw new Exception("Test failed!"); }
    if (candidate("<><><<<><><>><>><<><><<>>>") !== true) { throw new Exception("Test failed!"); }
    if (candidate("<<<><>>>>") !== false) { throw new Exception("Test failed!"); }
    if (candidate("><<>") !== false) { throw new Exception("Test failed!"); }
    if (candidate("<") !== false) { throw new Exception("Test failed!"); }
    if (candidate("<<<<") !== false) { throw new Exception("Test failed!"); }
    if (candidate(">") !== false) { throw new Exception("Test failed!"); }
    if (candidate("<<>") !== false) { throw new Exception("Test failed!"); }
    if (candidate("<><><<><>><>><<>") !== false) { throw new Exception("Test failed!"); }
    if (candidate("<><><<><>><>>><>") !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Return True is list elements are monotonically increasing or decreasing.
function monotonic($l) {

function candidate(...$args) {
    return monotonic(...$args);
}

function test(): void {
    if (candidate(array(1, 2, 4, 10)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 4, 20)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 20, 4, 10)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(4, 1, 0, -10)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(4, 1, 1, 0)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3, 2, 5, 60)) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3, 4, 5, 60)) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(9, 9, 9, 9)) !== true) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Return sorted unique common elements for two lists.
function common($l1, $l2) {

function candidate(...$args) {
    return common(...$args);
}

function test(): void {
    if (candidate(array(1, 4, 3, 34, 653, 2, 5), array(5, 7, 1, 5, 9, 653, 121)) !== array(1, 5, 653)) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 3, 2, 8), array(3, 2)) !== array(2, 3)) { throw new Exception("Test failed!"); }
    if (candidate(array(4, 3, 2, 8), array(3, 2, 4)) !== array(2, 3, 4)) { throw new Exception("Test failed!"); }
    if (candidate(array(4, 3, 2, 8), array()) !== array()) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Return the largest prime factor of n. Assume n > 1 and is not a prime.
function largest_prime_factor($n) {

function candidate(...$args) {
    return largest_prime_factor(...$args);
}

function test(): void {
    if (candidate(15) !== 5) { throw new Exception("Test failed!"); }
    if (candidate(27) !== 3) { throw new Exception("Test failed!"); }
    if (candidate(63) !== 7) { throw new Exception("Test failed!"); }
    if (candidate(330) !== 11) { throw new Exception("Test failed!"); }
    if (candidate(13195) !== 29) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
function intersperse($numbers, $delimeter) {

function candidate(...$args) {
    return intersperse(...$args);
}

function test(): void {
    if (candidate(array(), 7) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 6, 3, 2), 8) !== array(5, 8, 6, 8, 3, 8, 2)) { throw new Exception("Test failed!"); }
    if (candidate(array(2, 2, 2), 2) !== array(2, 2, 2, 2, 2)) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// sum_to_n is a function that sums numbers from 1 to n.
function sum_to_n($n) {

function candidate(...$args) {
    return sum_to_n(...$args);
}

function test(): void {
    if (candidate(1) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(6) !== 21) { throw new Exception("Test failed!"); }
    if (candidate(11) !== 66) { throw new Exception("Test failed!"); }
    if (candidate(30) !== 465) { throw new Exception("Test failed!"); }
    if (candidate(100) !== 5050) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// brackets is a string of "(" and ")".
// return True if every opening bracket has a corresponding closing bracket.
function correct_bracketing($brackets) {

function candidate(...$args) {
    return correct_bracketing(...$args);
}

function test(): void {
    if (candidate("()") !== true) { throw new Exception("Test failed!"); }
    if (candidate("(()())") !== true) { throw new Exception("Test failed!"); }
    if (candidate("()()(()())()") !== true) { throw new Exception("Test failed!"); }
    if (candidate("()()((()()())())(()()(()))") !== true) { throw new Exception("Test failed!"); }
    if (candidate("((()())))") !== false) { throw new Exception("Test failed!"); }
    if (candidate(")(()") !== false) { throw new Exception("Test failed!"); }
    if (candidate("(") !== false) { throw new Exception("Test failed!"); }
    if (candidate("((((") !== false) { throw new Exception("Test failed!"); }
    if (candidate(")") !== false) { throw new Exception("Test failed!"); }
    if (candidate("(()") !== false) { throw new Exception("Test failed!"); }
    if (candidate("()()(()())())(()") !== false) { throw new Exception("Test failed!"); }
    if (candidate("()()(()())()))()") !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// xs represent coefficients of a polynomial.
// xs[0] + xs[1] * x + xs[2] * x^2 + ....
// Return derivative of this polynomial in the same form.
function derivative($xs) {

function candidate(...$args) {
    return derivative(...$args);
}

function test(): void {
    if (candidate(array(3, 1, 2, 4, 5)) !== array(1, 4, 12, 20)) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3)) !== array(2, 6)) { throw new Exception("Test failed!"); }
    if (candidate(array(3, 2, 1)) !== array(2, 2)) { throw new Exception("Test failed!"); }
    if (candidate(array(3, 2, 1, 0, 4)) !== array(2, 2, 0, 16)) { throw new Exception("Test failed!"); }
    if (candidate(array(1)) !== array()) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// The FibFib number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fibfib(0) == 0
// fibfib(1) == 0
// fibfib(2) == 1
// fibfib(n) == fibfib(n-1) + fibfib(n-2) + fibfib(n-3).
// Please write a function to efficiently compute the n-th element of the fibfib number sequence.
function fibfib($n) {

function candidate(...$args) {
    return fibfib(...$args);
}

function test(): void {
    if (candidate(2) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(1) !== 0) { throw new Exception("Test failed!"); }
    if (candidate(5) !== 4) { throw new Exception("Test failed!"); }
    if (candidate(8) !== 24) { throw new Exception("Test failed!"); }
    if (candidate(10) !== 81) { throw new Exception("Test failed!"); }
    if (candidate(12) !== 274) { throw new Exception("Test failed!"); }
    if (candidate(14) !== 927) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Write a function vowels_count which takes a string representing
// a word as input and returns the number of vowels in the string.
// Vowels in this case are 'a', 'e', 'i', 'o', 'u'. Here, 'y' is also a
// vowel, but only when it is at the end of the given word.
// Example:
function vowels_count($s) {

function candidate(...$args) {
    return vowels_count(...$args);
}

function test(): void {
    if (candidate("abcde") !== 2) { throw new Exception("Test failed!"); }
    if (candidate("Alone") !== 3) { throw new Exception("Test failed!"); }
    if (candidate("key") !== 2) { throw new Exception("Test failed!"); }
    if (candidate("bye") !== 1) { throw new Exception("Test failed!"); }
    if (candidate("keY") !== 2) { throw new Exception("Test failed!"); }
    if (candidate("bYe") !== 1) { throw new Exception("Test failed!"); }
    if (candidate("ACEDY") !== 3) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Circular shift the digits of the integer x, shift the digits right by shift
// and return the result as a string.
// If shift > number of digits, return digits reversed.
function circular_shift($x, $shift) {

function candidate(...$args) {
    return circular_shift(...$args);
}

function test(): void {
    if (candidate(100, 2) !== "001") { throw new Exception("Test failed!"); }
    if (candidate(12, 2) !== "12") { throw new Exception("Test failed!"); }
    if (candidate(97, 8) !== "79") { throw new Exception("Test failed!"); }
    if (candidate(12, 1) !== "21") { throw new Exception("Test failed!"); }
    if (candidate(11, 101) !== "11") { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Task
// Write a function that takes a string as input and returns the sum of the upper characters only'
// ASCII codes.
// Examples:
function digitSum($s) {

function candidate(...$args) {
    return digitSum(...$args);
}

function test(): void {
    if (candidate("") !== 0) { throw new Exception("Test failed!"); }
    if (candidate("abAB") !== 131) { throw new Exception("Test failed!"); }
    if (candidate("abcCd") !== 67) { throw new Exception("Test failed!"); }
    if (candidate("helloE") !== 69) { throw new Exception("Test failed!"); }
    if (candidate("woArBld") !== 131) { throw new Exception("Test failed!"); }
    if (candidate("aAaaaXa") !== 153) { throw new Exception("Test failed!"); }
    if (candidate(" How are yOu?") !== 151) { throw new Exception("Test failed!"); }
    if (candidate("You arE Very Smart") !== 327) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// In this task, you will be given a string that represents a number of apples and oranges
// that are distributed in a basket of fruit this basket contains
// apples, oranges, and mango fruits. Given the string that represents the total number of
// the oranges and apples and an integer that represent the total number of the fruits
// in the basket return the number of the mango fruits in the basket.
// for examble:
function fruit_distribution($s, $n) {

function candidate(...$args) {
    return fruit_distribution(...$args);
}

function test(): void {
    if (candidate("5 apples and 6 oranges", 19) !== 8) { throw new Exception("Test failed!"); }
    if (candidate("5 apples and 6 oranges", 21) !== 10) { throw new Exception("Test failed!"); }
    if (candidate("0 apples and 1 oranges", 3) !== 2) { throw new Exception("Test failed!"); }
    if (candidate("1 apples and 0 oranges", 3) !== 2) { throw new Exception("Test failed!"); }
    if (candidate("2 apples and 3 oranges", 100) !== 95) { throw new Exception("Test failed!"); }
    if (candidate("2 apples and 3 oranges", 5) !== 0) { throw new Exception("Test failed!"); }
    if (candidate("1 apples and 100 oranges", 120) !== 19) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// "Given an array representing a branch of a tree that has non-negative integer nodes
// your task is to pluck one of the nodes and return it.
// The plucked node should be the node with the smallest even value.
// If multiple nodes with the same smallest even value are found return the node that has smallest index.
// The plucked node should be returned in a list, [ smalest_value, its index ],
// If there are no even values or the given array is empty, return [].
// Example 1:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 2:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 3:
// Example 4:
// Explanation: 0 is the smallest value, but  there are two zeros,
// so we will choose the first zero, which has the smallest index.
// Constraints:
// * 1 <= nodes.length <= 10000
// * 0 <= node.value
function pluck($arr) {

function candidate(...$args) {
    return pluck(...$args);
}

function test(): void {
    if (candidate(array(4, 2, 3)) !== array(2, 1)) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3)) !== array(2, 1)) { throw new Exception("Test failed!"); }
    if (candidate(array()) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 0, 3, 0, 4, 2)) !== array(0, 1)) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3, 0, 5, 3)) !== array(0, 3)) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 4, 8, 4, 8)) !== array(4, 1)) { throw new Exception("Test failed!"); }
    if (candidate(array(7, 6, 7, 1)) !== array(6, 1)) { throw new Exception("Test failed!"); }
    if (candidate(array(7, 9, 7, 1)) !== array()) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// You are given a non-empty list of positive integers. Return the greatest integer that is greater than
// zero, and has a frequency greater than or equal to the value of the integer itself.
// The frequency of an integer is the number of times it appears in the list.
// If no such a value exist, return -1.
// Examples:
function search($lst) {

function candidate(...$args) {
    return search(...$args);
}

function test(): void {
    if (candidate(array(5, 5, 5, 5, 1)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(4, 1, 4, 1, 4, 4)) !== 4) { throw new Exception("Test failed!"); }
    if (candidate(array(3, 3)) !== -1) { throw new Exception("Test failed!"); }
    if (candidate(array(8, 8, 8, 8, 8, 8, 8, 8)) !== 8) { throw new Exception("Test failed!"); }
    if (candidate(array(2, 3, 3, 2, 2)) !== 2) { throw new Exception("Test failed!"); }
    if (candidate(array(2, 7, 8, 8, 4, 8, 7, 3, 9, 6, 5, 10, 4, 3, 6, 7, 1, 7, 4, 10, 8, 1)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(3, 2, 8, 2)) !== 2) { throw new Exception("Test failed!"); }
    if (candidate(array(6, 7, 1, 8, 8, 10, 5, 8, 5, 3, 10)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(8, 8, 3, 6, 5, 6, 4)) !== -1) { throw new Exception("Test failed!"); }
    if (candidate(array(6, 9, 6, 7, 1, 4, 7, 1, 8, 8, 9, 8, 10, 10, 8, 4, 10, 4, 10, 1, 2, 9, 5, 7, 9)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 9, 10, 1, 3)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(6, 9, 7, 5, 8, 7, 5, 3, 7, 5, 10, 10, 3, 6, 10, 2, 8, 6, 5, 4, 9, 5, 3, 10)) !== 5) { throw new Exception("Test failed!"); }
    if (candidate(array(1)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(8, 8, 10, 6, 4, 3, 5, 8, 2, 4, 2, 8, 4, 6, 10, 4, 2, 1, 10, 2, 1, 1, 5)) !== 4) { throw new Exception("Test failed!"); }
    if (candidate(array(2, 10, 4, 8, 2, 10, 5, 1, 2, 9, 5, 5, 6, 3, 8, 6, 4, 10)) !== 2) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 6, 10, 1, 6, 9, 10, 8, 6, 8, 7, 3)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(9, 2, 4, 1, 5, 1, 5, 2, 5, 7, 7, 7, 3, 10, 1, 5, 4, 2, 8, 4, 1, 9, 10, 7, 10, 2, 8, 10, 9, 4)) !== 4) { throw new Exception("Test failed!"); }
    if (candidate(array(2, 6, 4, 2, 8, 7, 5, 6, 4, 10, 4, 6, 3, 7, 8, 8, 3, 1, 4, 2, 2, 10, 7)) !== 4) { throw new Exception("Test failed!"); }
    if (candidate(array(9, 8, 6, 10, 2, 6, 10, 2, 7, 8, 10, 3, 8, 2, 6, 2, 3, 1)) !== 2) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 5, 3, 9, 5, 6, 3, 2, 8, 5, 6, 10, 10, 6, 8, 4, 10, 7, 7, 10, 8)) !== -1) { throw new Exception("Test failed!"); }
    if (candidate(array(10)) !== -1) { throw new Exception("Test failed!"); }
    if (candidate(array(9, 7, 7, 2, 4, 7, 2, 10, 9, 7, 5, 7, 2)) !== 2) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 4, 10, 2, 1, 1, 10, 3, 6, 1, 8)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(7, 9, 9, 9, 3, 4, 1, 5, 9, 1, 2, 1, 1, 10, 7, 5, 6, 7, 6, 7, 7, 6)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(3, 10, 10, 9, 2)) !== -1) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Input to this function is a string represented multiple groups for nested parentheses separated by spaces.
// For each of the group, output the deepest level of nesting of parentheses.
// E.g. (()()) has maximum two levels of nesting while ((())) has three.
function parse_nested_parens($paren_string) {

function candidate(...$args) {
    return parse_nested_parens(...$args);
}

function test(): void {
    if (candidate("(()()) ((())) () ((())()())") !== array(2, 3, 1, 3)) { throw new Exception("Test failed!"); }
    if (candidate("() (()) ((())) (((())))") !== array(1, 2, 3, 4)) { throw new Exception("Test failed!"); }
    if (candidate("(()(())((())))") !== array(4)) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Given list of integers, return list in strange order.
// Strange sorting, is when you start with the minimum value,
// then maximum of the remaining integers, then minimum and so on.
// Examples:
function strange_sort_list($lst) {

function candidate(...$args) {
    return strange_sort_list(...$args);
}

function test(): void {
    if (candidate(array(1, 2, 3, 4)) !== array(1, 4, 2, 3)) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 6, 7, 8, 9)) !== array(5, 9, 6, 8, 7)) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3, 4, 5)) !== array(1, 5, 2, 4, 3)) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 6, 7, 8, 9, 1)) !== array(1, 9, 5, 8, 6, 7)) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 5, 5, 5)) !== array(5, 5, 5, 5)) { throw new Exception("Test failed!"); }
    if (candidate(array()) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3, 4, 5, 6, 7, 8)) !== array(1, 8, 2, 7, 3, 6, 4, 5)) { throw new Exception("Test failed!"); }
    if (candidate(array(0, 2, 2, 2, 5, 5, -5, -5)) !== array(-5, 5, -5, 5, 0, 2, 2, 2)) { throw new Exception("Test failed!"); }
    if (candidate(array(111111)) !== array(111111)) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Given the lengths of the three sides of a triangle. Return the area of
// the triangle rounded to 2 decimal points if the three sides form a valid triangle.
// Otherwise return -1
// Three sides make a valid triangle when the sum of any two sides is greater
// than the third side.
// Example:
function triangle_area($a, $b, $c) {

function candidate(...$args) {
    return triangle_area(...$args);
}

function test(): void {
    if (candidate(3, 4, 5) !== 6.0) { throw new Exception("Test failed!"); }
    if (candidate(1, 2, 10) !== -1) { throw new Exception("Test failed!"); }
    if (candidate(4, 8, 5) !== 8.18) { throw new Exception("Test failed!"); }
    if (candidate(2, 2, 2) !== 1.73) { throw new Exception("Test failed!"); }
    if (candidate(1, 2, 3) !== -1) { throw new Exception("Test failed!"); }
    if (candidate(10, 5, 7) !== 16.25) { throw new Exception("Test failed!"); }
    if (candidate(2, 6, 3) !== -1) { throw new Exception("Test failed!"); }
    if (candidate(1, 1, 1) !== 0.43) { throw new Exception("Test failed!"); }
    if (candidate(2, 2, 10) !== -1) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Write a function that returns True if the object q will fly, and False otherwise.
// The object q will fly if it's balanced (it is a palindromic list) and the sum of its elements is less than or equal the maximum possible weight w.
// Example:
// # 1+2 is less than the maximum possible weight, but it's unbalanced.
// # it's balanced, but 3+2+3 is more than the maximum possible weight.
// # 3+2+3 is less than the maximum possible weight, and it's balanced.
// # 3 is less than the maximum possible weight, and it's balanced.
function will_it_fly($q, $w) {

function candidate(...$args) {
    return will_it_fly(...$args);
}

function test(): void {
    if (candidate(array(3, 2, 3), 9) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2), 5) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(3), 5) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array(3, 2, 3), 1) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3), 6) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array(5), 5) !== true) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Given an array arr of integers, find the minimum number of elements that
// need to be changed to make the array palindromic. A palindromic array is an array that
// is read the same backwards and forwards. In one change, you can change one element to any other element.
// For example:
function smallest_change($arr) {

function candidate(...$args) {
    return smallest_change(...$args);
}

function test(): void {
    if (candidate(array(1, 2, 3, 5, 4, 7, 9, 6)) !== 4) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3, 4, 3, 2, 2)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 4, 2)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 4, 4, 2)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3, 2, 1)) !== 0) { throw new Exception("Test failed!"); }
    if (candidate(array(3, 1, 1, 3)) !== 0) { throw new Exception("Test failed!"); }
    if (candidate(array(1)) !== 0) { throw new Exception("Test failed!"); }
    if (candidate(array(0, 1)) !== 1) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Write a function that accepts two lists of strings and returns the list that has
// total number of chars in the all strings of the list less than the other list.
// if the two lists have the same number of chars, return the first list.
// Examples
function total_match($lst1, $lst2) {

function candidate(...$args) {
    return total_match(...$args);
}

function test(): void {
    if (candidate(array(), array()) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(array("hi", "admin"), array("hi", "hi")) !== array("hi", "hi")) { throw new Exception("Test failed!"); }
    if (candidate(array("hi", "admin"), array("hi", "hi", "admin", "project")) !== array("hi", "admin")) { throw new Exception("Test failed!"); }
    if (candidate(array("4"), array("1", "2", "3", "4", "5")) !== array("4")) { throw new Exception("Test failed!"); }
    if (candidate(array("hi", "admin"), array("hI", "Hi")) !== array("hI", "Hi")) { throw new Exception("Test failed!"); }
    if (candidate(array("hi", "admin"), array("hI", "hi", "hi")) !== array("hI", "hi", "hi")) { throw new Exception("Test failed!"); }
    if (candidate(array("hi", "admin"), array("hI", "hi", "hii")) !== array("hi", "admin")) { throw new Exception("Test failed!"); }
    if (candidate(array(), array("this")) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(array("this"), array()) !== array()) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Write a function that returns true if the given number is the multiplication of 3 prime numbers
// and false otherwise.
// Knowing that (a) is less then 100.
// Example:
// 30 = 2 * 3 * 5
function is_multiply_prime($a) {

function candidate(...$args) {
    return is_multiply_prime(...$args);
}

function test(): void {
    if (candidate(5) !== false) { throw new Exception("Test failed!"); }
    if (candidate(30) !== true) { throw new Exception("Test failed!"); }
    if (candidate(8) !== true) { throw new Exception("Test failed!"); }
    if (candidate(10) !== false) { throw new Exception("Test failed!"); }
    if (candidate(125) !== true) { throw new Exception("Test failed!"); }
    if (candidate(105) !== true) { throw new Exception("Test failed!"); }
    if (candidate(126) !== false) { throw new Exception("Test failed!"); }
    if (candidate(729) !== false) { throw new Exception("Test failed!"); }
    if (candidate(891) !== false) { throw new Exception("Test failed!"); }
    if (candidate(1001) !== true) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Your task is to write a function that returns true if a number x is a simple
// power of n and false in other cases.
// x is a simple power of n if n**int=x
// For example:
function is_simple_power($x, $n) {

function candidate(...$args) {
    return is_simple_power(...$args);
}

function test(): void {
    if (candidate(16, 2) !== true) { throw new Exception("Test failed!"); }
    if (candidate(143214, 16) !== false) { throw new Exception("Test failed!"); }
    if (candidate(4, 2) !== true) { throw new Exception("Test failed!"); }
    if (candidate(9, 3) !== true) { throw new Exception("Test failed!"); }
    if (candidate(16, 4) !== true) { throw new Exception("Test failed!"); }
    if (candidate(24, 2) !== false) { throw new Exception("Test failed!"); }
    if (candidate(128, 4) !== false) { throw new Exception("Test failed!"); }
    if (candidate(12, 6) !== false) { throw new Exception("Test failed!"); }
    if (candidate(1, 1) !== true) { throw new Exception("Test failed!"); }
    if (candidate(1, 12) !== true) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Write a function that takes an integer a and returns True
// if this ingeger is a cube of some integer number.
// Note: you may assume the input is always valid.
// Examples:
function iscube($a) {

function candidate(...$args) {
    return iscube(...$args);
}

function test(): void {
    if (candidate(1) !== true) { throw new Exception("Test failed!"); }
    if (candidate(2) !== false) { throw new Exception("Test failed!"); }
    if (candidate(-1) !== true) { throw new Exception("Test failed!"); }
    if (candidate(64) !== true) { throw new Exception("Test failed!"); }
    if (candidate(180) !== false) { throw new Exception("Test failed!"); }
    if (candidate(1000) !== true) { throw new Exception("Test failed!"); }
    if (candidate(0) !== true) { throw new Exception("Test failed!"); }
    if (candidate(1729) !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// You have been tasked to write a function that receives
// a hexadecimal number as a string and counts the number of hexadecimal
// digits that are primes (prime number, or a prime, is a natural number
// greater than 1 that is not a product of two smaller natural numbers).
// Hexadecimal digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
// Prime numbers are 2, 3, 5, 7, 11, 13, 17,...
// So you have to determine a number of the following digits: 2, 3, 5, 7,
// B (=decimal 11), D (=decimal 13).
// Note: you may assume the input is always correct or empty string,
// and symbols A,B,C,D,E,F are always uppercase.
// Examples:
function hex_key($num) {

function candidate(...$args) {
    return hex_key(...$args);
}

function test(): void {
    if (candidate("AB") !== 1) { throw new Exception("Test failed!"); }
    if (candidate("1077E") !== 2) { throw new Exception("Test failed!"); }
    if (candidate("ABED1A33") !== 4) { throw new Exception("Test failed!"); }
    if (candidate("2020") !== 2) { throw new Exception("Test failed!"); }
    if (candidate("123456789ABCDEF0") !== 6) { throw new Exception("Test failed!"); }
    if (candidate("112233445566778899AABBCCDDEEFF00") !== 12) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// You will be given a number in decimal form and your task is to convert it to
// binary format. The function should return a string, with each character representing a binary
// number. Each character in the string will be '0' or '1'.
// There will be an extra couple of characters 'db' at the beginning and at the end of the string.
// The extra characters are there to help with the format.
// Examples:
function decimal_to_binary($decimal) {

function candidate(...$args) {
    return decimal_to_binary(...$args);
}

function test(): void {
    if (candidate(0) !== "db0db") { throw new Exception("Test failed!"); }
    if (candidate(32) !== "db100000db") { throw new Exception("Test failed!"); }
    if (candidate(103) !== "db1100111db") { throw new Exception("Test failed!"); }
    if (candidate(15) !== "db1111db") { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Filter an input list of strings only for ones that contain given substring
function filter_by_substring($strings, $substring) {

function candidate(...$args) {
    return filter_by_substring(...$args);
}

function test(): void {
    if (candidate(array(), "john") !== array()) { throw new Exception("Test failed!"); }
    if (candidate(array("xxx", "asd", "xxy", "john doe", "xxxAAA", "xxx"), "xxx") !== array("xxx", "xxxAAA", "xxx")) { throw new Exception("Test failed!"); }
    if (candidate(array("xxx", "asd", "aaaxxy", "john doe", "xxxAAA", "xxx"), "xx") !== array("xxx", "aaaxxy", "xxxAAA", "xxx")) { throw new Exception("Test failed!"); }
    if (candidate(array("grunt", "trumpet", "prune", "gruesome"), "run") !== array("grunt", "prune")) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// You are given a string s.
// Your task is to check if the string is happy or not.
// A string is happy if its length is at least 3 and every 3 consecutive letters are distinct
// For example:
function is_happy($s) {

function candidate(...$args) {
    return is_happy(...$args);
}

function test(): void {
    if (candidate("a") !== false) { throw new Exception("Test failed!"); }
    if (candidate("aa") !== false) { throw new Exception("Test failed!"); }
    if (candidate("abcd") !== true) { throw new Exception("Test failed!"); }
    if (candidate("aabb") !== false) { throw new Exception("Test failed!"); }
    if (candidate("adb") !== true) { throw new Exception("Test failed!"); }
    if (candidate("xyy") !== false) { throw new Exception("Test failed!"); }
    if (candidate("iopaxpoi") !== true) { throw new Exception("Test failed!"); }
    if (candidate("iopaxioi") !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// It is the last week of the semester and the teacher has to give the grades
// to students. The teacher has been making her own algorithm for grading.
// The only problem is, she has lost the code she used for grading.
// She has given you a list of GPAs for some students and you have to write
// a function that can output a list of letter grades using the following table:
// GPA       |    Letter grade
// 4.0                A+
// > 3.7                A
// > 3.3                A-
// > 3.0                B+
// > 2.7                B
// > 2.3                B-
// > 2.0                C+
// > 1.7                C
// > 1.3                C-
// > 1.0                D+
// > 0.7                D
// > 0.0                D-
// 0.0                E
// Example:
function numerical_letter_grade($grades) {

function candidate(...$args) {
    return numerical_letter_grade(...$args);
}

function test(): void {
    if (candidate(array(4.0, 3, 1.7, 2, 3.5)) !== array("A+", "B", "C-", "C", "A-")) { throw new Exception("Test failed!"); }
    if (candidate(array(1.2)) !== array("D+")) { throw new Exception("Test failed!"); }
    if (candidate(array(0.5)) !== array("D-")) { throw new Exception("Test failed!"); }
    if (candidate(array(0.0)) !== array("E")) { throw new Exception("Test failed!"); }
    if (candidate(array(1.0, 0.3, 1.5, 2.8, 3.3)) !== array("D", "D-", "C-", "B", "B+")) { throw new Exception("Test failed!"); }
    if (candidate(array(0.0, 0.7)) !== array("E", "D-")) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Write a function that takes a string and returns True if the string
// length is a prime number or False otherwise
// Examples
function prime_length($string) {

function candidate(...$args) {
    return prime_length(...$args);
}

function test(): void {
    if (candidate("Hello") !== true) { throw new Exception("Test failed!"); }
    if (candidate("abcdcba") !== true) { throw new Exception("Test failed!"); }
    if (candidate("kittens") !== true) { throw new Exception("Test failed!"); }
    if (candidate("orange") !== false) { throw new Exception("Test failed!"); }
    if (candidate("wow") !== true) { throw new Exception("Test failed!"); }
    if (candidate("world") !== true) { throw new Exception("Test failed!"); }
    if (candidate("MadaM") !== true) { throw new Exception("Test failed!"); }
    if (candidate("Wow") !== true) { throw new Exception("Test failed!"); }
    if (candidate("") !== false) { throw new Exception("Test failed!"); }
    if (candidate("HI") !== true) { throw new Exception("Test failed!"); }
    if (candidate("go") !== true) { throw new Exception("Test failed!"); }
    if (candidate("gogo") !== false) { throw new Exception("Test failed!"); }
    if (candidate("aaaaaaaaaaaaaaa") !== false) { throw new Exception("Test failed!"); }
    if (candidate("Madam") !== true) { throw new Exception("Test failed!"); }
    if (candidate("M") !== false) { throw new Exception("Test failed!"); }
    if (candidate("0") !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Given a positive integer N, return the total sum of its digits in binary.
// Example
// Variables:
// @N integer
// Constraints: 0 ≤ N ≤ 10000.
// Output:
// a string of binary number
function solve($N) {

function candidate(...$args) {
    return solve(...$args);
}

function test(): void {
    if (candidate(1000) !== "1") { throw new Exception("Test failed!"); }
    if (candidate(150) !== "110") { throw new Exception("Test failed!"); }
    if (candidate(147) !== "1100") { throw new Exception("Test failed!"); }
    if (candidate(333) !== "1001") { throw new Exception("Test failed!"); }
    if (candidate(963) !== "10010") { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Given a non-empty list of integers lst. add the even elements that are at odd indices..
// Examples:
function add($lst) {

function candidate(...$args) {
    return add(...$args);
}

function test(): void {
    if (candidate(array(4, 88)) !== 88) { throw new Exception("Test failed!"); }
    if (candidate(array(4, 5, 6, 7, 2, 122)) !== 122) { throw new Exception("Test failed!"); }
    if (candidate(array(4, 0, 6, 7)) !== 0) { throw new Exception("Test failed!"); }
    if (candidate(array(4, 4, 6, 8)) !== 12) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Write a function that takes a string and returns an ordered version of it.
// Ordered version of string, is a string where all words (separated by space)
// are replaced by a new word where all the characters arranged in
// ascending order based on ascii value.
// Note: You should keep the order of words and blank spaces in the sentence.
// For example:
function anti_shuffle($s) {

function candidate(...$args) {
    return anti_shuffle(...$args);
}

function test(): void {
    if (candidate("Hi") !== "Hi") { throw new Exception("Test failed!"); }
    if (candidate("hello") !== "ehllo") { throw new Exception("Test failed!"); }
    if (candidate("number") !== "bemnru") { throw new Exception("Test failed!"); }
    if (candidate("abcd") !== "abcd") { throw new Exception("Test failed!"); }
    if (candidate("Hello World!!!") !== "Hello !!!Wdlor") { throw new Exception("Test failed!"); }
    if (candidate("") !== "") { throw new Exception("Test failed!"); }
    if (candidate("Hi. My name is Mister Robot. How are you?") !== ".Hi My aemn is Meirst .Rboot How aer ?ouy") { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// You are given a 2 dimensional data, as a nested lists,
// which is similar to matrix, however, unlike matrices,
// each row may contain a different number of columns.
// Given lst, and integer x, find integers x in the list,
// and return list of tuples, [(x1, y1), (x2, y2) ...] such that
// each tuple is a coordinate - (row, columns), starting with 0.
// Sort coordinates initially by rows in ascending order.
// Also, sort coordinates of the row by columns in descending order.
// Examples:
function get_row($lst, $x) {

function candidate(...$args) {
    return get_row(...$args);
}

function test(): void {
    if (candidate(array(array(1, 2, 3, 4, 5, 6), array(1, 2, 3, 4, 1, 6), array(1, 2, 3, 4, 5, 1)), 1) !== array(array(0, 0), array(1, 4), array(1, 0), array(2, 5), array(2, 0))) { throw new Exception("Test failed!"); }
    if (candidate(array(array(1, 2, 3, 4, 5, 6), array(1, 2, 3, 4, 5, 6), array(1, 2, 3, 4, 5, 6), array(1, 2, 3, 4, 5, 6), array(1, 2, 3, 4, 5, 6), array(1, 2, 3, 4, 5, 6)), 2) !== array(array(0, 1), array(1, 1), array(2, 1), array(3, 1), array(4, 1), array(5, 1))) { throw new Exception("Test failed!"); }
    if (candidate(array(array(1, 2, 3, 4, 5, 6), array(1, 2, 3, 4, 5, 6), array(1, 1, 3, 4, 5, 6), array(1, 2, 1, 4, 5, 6), array(1, 2, 3, 1, 5, 6), array(1, 2, 3, 4, 1, 6), array(1, 2, 3, 4, 5, 1)), 1) !== array(array(0, 0), array(1, 0), array(2, 1), array(2, 0), array(3, 2), array(3, 0), array(4, 3), array(4, 0), array(5, 4), array(5, 0), array(6, 5), array(6, 0))) { throw new Exception("Test failed!"); }
    if (candidate(array(), 1) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(array(array(1)), 2) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(array(array(), array(1), array(1, 2, 3)), 3) !== array(array(2, 2))) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Given an array of non-negative integers, return a copy of the given array after sorting,
// you will sort the given array in ascending order if the sum( first index value, last index value) is odd,
// or sort it in descending order if the sum( first index value, last index value) is even.
// Note:
// * don't change the given array.
// Examples:
function sort_array($array) {

function candidate(...$args) {
    return sort_array(...$args);
}

function test(): void {
    if (candidate(array()) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(array(5)) !== array(5)) { throw new Exception("Test failed!"); }
    if (candidate(array(2, 4, 3, 0, 1, 5)) !== array(0, 1, 2, 3, 4, 5)) { throw new Exception("Test failed!"); }
    if (candidate(array(2, 4, 3, 0, 1, 5, 6)) !== array(6, 5, 4, 3, 2, 1, 0)) { throw new Exception("Test failed!"); }
    if (candidate(array(2, 1)) !== array(1, 2)) { throw new Exception("Test failed!"); }
    if (candidate(array(15, 42, 87, 32, 11, 0)) !== array(0, 11, 15, 32, 42, 87)) { throw new Exception("Test failed!"); }
    if (candidate(array(21, 14, 23, 11)) !== array(23, 21, 14, 11)) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Create a function encrypt that takes a string as an argument and
// returns a string encrypted with the alphabet being rotated.
// The alphabet should be rotated in a manner such that the letters
// shift down by two multiplied to two places.
// For example:
function encrypt($s) {

function candidate(...$args) {
    return encrypt(...$args);
}

function test(): void {
    if (candidate("hi") !== "lm") { throw new Exception("Test failed!"); }
    if (candidate("asdfghjkl") !== "ewhjklnop") { throw new Exception("Test failed!"); }
    if (candidate("gf") !== "kj") { throw new Exception("Test failed!"); }
    if (candidate("et") !== "ix") { throw new Exception("Test failed!"); }
    if (candidate("faewfawefaewg") !== "jeiajeaijeiak") { throw new Exception("Test failed!"); }
    if (candidate("hellomyfriend") !== "lippsqcjvmirh") { throw new Exception("Test failed!"); }
    if (candidate("dxzdlmnilfuhmilufhlihufnmlimnufhlimnufhfucufh") !== "hbdhpqrmpjylqmpyjlpmlyjrqpmqryjlpmqryjljygyjl") { throw new Exception("Test failed!"); }
    if (candidate("a") !== "e") { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
// Empty sum should be equal to 0 and empty product should be equal to 1.
function sum_product($numbers) {

function candidate(...$args) {
    return sum_product(...$args);
}

function test(): void {
    if (candidate(array()) !== array(0, 1)) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 1, 1)) !== array(3, 1)) { throw new Exception("Test failed!"); }
    if (candidate(array(100, 0)) !== array(100, 0)) { throw new Exception("Test failed!"); }
    if (candidate(array(3, 5, 7)) !== array(15, 105)) { throw new Exception("Test failed!"); }
    if (candidate(array(10)) !== array(10, 10)) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// You are given a list of integers.
// Write a function next_smallest() that returns the 2nd smallest element of the list.
// Return None if there is no such element.
function next_smallest($lst) {

function candidate(...$args) {
    return next_smallest(...$args);
}

function test(): void {
    if (candidate(array(1, 2, 3, 4, 5)) !== 2) { throw new Exception("Test failed!"); }
    if (candidate(array(5, 1, 4, 3, 2)) !== 2) { throw new Exception("Test failed!"); }
    if (candidate(array()) !== null) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 1)) !== null) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 1, 1, 1, 0)) !== 1) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 1)) !== null) { throw new Exception("Test failed!"); }
    if (candidate(array(-35, 34, 12, -45)) !== -35) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// You'll be given a string of words, and your task is to count the number
// of boredoms. A boredom is a sentence that starts with the word "I".
// Sentences are delimited by '.', '?' or '!'.
// For example:
function is_bored($S) {

function candidate(...$args) {
    return is_bored(...$args);
}

function test(): void {
    if (candidate("Hello world") !== 0) { throw new Exception("Test failed!"); }
    if (candidate("Is the sky blue?") !== 0) { throw new Exception("Test failed!"); }
    if (candidate("I love It !") !== 1) { throw new Exception("Test failed!"); }
    if (candidate("bIt") !== 0) { throw new Exception("Test failed!"); }
    if (candidate("I feel good today. I will be productive. will kill It") !== 2) { throw new Exception("Test failed!"); }
    if (candidate("You and I are going for a walk") !== 0) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Create a function that takes 3 numbers.
// Returns true if one of the numbers is equal to the sum of the other two, and all numbers are integers.
// Returns false in any other cases.
// Examples
function any_int($x, $y, $z) {

function candidate(...$args) {
    return any_int(...$args);
}

function test(): void {
    if (candidate(2, 3, 1) !== true) { throw new Exception("Test failed!"); }
    if (candidate(2.5, 2, 3) !== false) { throw new Exception("Test failed!"); }
    if (candidate(1.5, 5, 3.5) !== false) { throw new Exception("Test failed!"); }
    if (candidate(2, 6, 2) !== false) { throw new Exception("Test failed!"); }
    if (candidate(4, 2, 2) !== true) { throw new Exception("Test failed!"); }
    if (candidate(2.2, 2.2, 2.2) !== false) { throw new Exception("Test failed!"); }
    if (candidate(-4, 6, 2) !== true) { throw new Exception("Test failed!"); }
    if (candidate(2, 1, 1) !== true) { throw new Exception("Test failed!"); }
    if (candidate(3, 4, 7) !== true) { throw new Exception("Test failed!"); }
    if (candidate(3.0, 4, 7) !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Write a function that takes a message, and encodes in such a
// way that it swaps case of all letters, replaces all vowels in
// the message with the letter that appears 2 places ahead of that
// vowel in the english alphabet.
// Assume only letters.
// Examples:
function encode($message) {

function candidate(...$args) {
    return encode(...$args);
}

function test(): void {
    if (candidate("TEST") !== "tgst") { throw new Exception("Test failed!"); }
    if (candidate("Mudasir") !== "mWDCSKR") { throw new Exception("Test failed!"); }
    if (candidate("YES") !== "ygs") { throw new Exception("Test failed!"); }
    if (candidate("This is a message") !== "tHKS KS C MGSSCGG") { throw new Exception("Test failed!"); }
    if (candidate("I DoNt KnOw WhAt tO WrItE") !== "k dQnT kNqW wHcT Tq wRkTg") { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// You are given a list of integers.
// You need to find the largest prime value and return the sum of its digits.
// Examples:
function skjkasdkd($lst) {

function candidate(...$args) {
    return skjkasdkd(...$args);
}

function test(): void {
    if (candidate(array(0, 3, 2, 1, 3, 5, 7, 4, 5, 5, 5, 2, 181, 32, 4, 32, 3, 2, 32, 324, 4, 3)) !== 10) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 0, 1, 8, 2, 4597, 2, 1, 3, 40, 1, 2, 1, 2, 4, 2, 5, 1)) !== 25) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 3, 1, 32, 5107, 34, 83278, 109, 163, 23, 2323, 32, 30, 1, 9, 3)) !== 13) { throw new Exception("Test failed!"); }
    if (candidate(array(0, 724, 32, 71, 99, 32, 6, 0, 5, 91, 83, 0, 5, 6)) !== 11) { throw new Exception("Test failed!"); }
    if (candidate(array(0, 81, 12, 3, 1, 21)) !== 3) { throw new Exception("Test failed!"); }
    if (candidate(array(0, 8, 1, 2, 1, 7)) !== 7) { throw new Exception("Test failed!"); }
    if (candidate(array(8191)) !== 19) { throw new Exception("Test failed!"); }
    if (candidate(array(8191, 123456, 127, 7)) !== 19) { throw new Exception("Test failed!"); }
    if (candidate(array(127, 97, 8192)) !== 10) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Given a dictionary, return True if all keys are strings in lower
// case or all keys are strings in upper case, else return False.
// The function should return False is the given dictionary is empty.
// Examples:
function check_dict_case($dict) {

function candidate(...$args) {
    return check_dict_case(...$args);
}

function test(): void {
    if (candidate(array("p" => "pineapple", "b" => "banana")) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array("p" => "pineapple", "A" => "banana", "B" => "banana")) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array("p" => "pineapple", "5" => "banana", "a" => "apple")) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array("Name" => "John", "Age" => "36", "City" => "Houston")) !== false) { throw new Exception("Test failed!"); }
    if (candidate(array("STATE" => "NC", "ZIP" => "12345")) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array("fruit" => "Orange", "taste" => "Sweet")) !== true) { throw new Exception("Test failed!"); }
    if (candidate(array()) !== false) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Implement a function that takes an non-negative integer and returns an array of the first n
// integers that are prime numbers and less than n.
// for example:
function count_up_to($n) {

function candidate(...$args) {
    return count_up_to(...$args);
}

function test(): void {
    if (candidate(5) !== array(2, 3)) { throw new Exception("Test failed!"); }
    if (candidate(6) !== array(2, 3, 5)) { throw new Exception("Test failed!"); }
    if (candidate(7) !== array(2, 3, 5)) { throw new Exception("Test failed!"); }
    if (candidate(10) !== array(2, 3, 5, 7)) { throw new Exception("Test failed!"); }
    if (candidate(0) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(22) !== array(2, 3, 5, 7, 11, 13, 17, 19)) { throw new Exception("Test failed!"); }
    if (candidate(1) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(18) !== array(2, 3, 5, 7, 11, 13, 17)) { throw new Exception("Test failed!"); }
    if (candidate(47) !== array(2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43)) { throw new Exception("Test failed!"); }
    if (candidate(101) !== array(2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97)) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Complete the function that takes two integers and returns
// the product of their unit digits.
// Assume the input is always valid.
// Examples:
function multiply($a, $b) {

function candidate(...$args) {
    return multiply(...$args);
}

function test(): void {
    if (candidate(148, 412) !== 16) { throw new Exception("Test failed!"); }
    if (candidate(19, 28) !== 72) { throw new Exception("Test failed!"); }
    if (candidate(2020, 1851) !== 0) { throw new Exception("Test failed!"); }
    if (candidate(14, -15) !== 20) { throw new Exception("Test failed!"); }
    if (candidate(76, 67) !== 42) { throw new Exception("Test failed!"); }
    if (candidate(17, 27) !== 49) { throw new Exception("Test failed!"); }
    if (candidate(0, 1) !== 0) { throw new Exception("Test failed!"); }
    if (candidate(0, 0) !== 0) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Given a string s, count the number of uppercase vowels in even indices.
// For example:
function count_upper($s) {

function candidate(...$args) {
    return count_upper(...$args);
}

function test(): void {
    if (candidate("aBCdEf") !== 1) { throw new Exception("Test failed!"); }
    if (candidate("abcdefg") !== 0) { throw new Exception("Test failed!"); }
    if (candidate("dBBE") !== 0) { throw new Exception("Test failed!"); }
    if (candidate("B") !== 0) { throw new Exception("Test failed!"); }
    if (candidate("U") !== 1) { throw new Exception("Test failed!"); }
    if (candidate("") !== 0) { throw new Exception("Test failed!"); }
    if (candidate("EEEE") !== 2) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// Create a function that takes a value (string) representing a number
// and returns the closest integer to it. If the number is equidistant
// from two integers, round it away from zero.
// Examples
// Note:
// Rounding away from zero means that if the given number is equidistant
// from two integers, the one you should return is the one that is the
// farthest from zero. For example closest_integer("14.5") should
// return 15 and closest_integer("-14.5") should return -15.
function closest_integer($value) {

function candidate(...$args) {
    return closest_integer(...$args);
}

function test(): void {
    if (candidate("10") !== 10) { throw new Exception("Test failed!"); }
    if (candidate("14.5") !== 15) { throw new Exception("Test failed!"); }
    if (candidate("-15.5") !== -16) { throw new Exception("Test failed!"); }
    if (candidate("15.3") !== 15) { throw new Exception("Test failed!"); }
    if (candidate("0") !== 0) { throw new Exception("Test failed!"); }
}

test();


Prompt:
<?php
// From a given list of integers, generate a list of rolling maximum element found until given moment
// in the sequence.
function rolling_max($numbers) {

function candidate(...$args) {
    return rolling_max(...$args);
}

function test(): void {
    if (candidate(array()) !== array()) { throw new Exception("Test failed!"); }
    if (candidate(array(1, 2, 3, 4)) !== array(1, 2, 3, 4)) { throw new Exception("Test failed!"); }
    if (candidate(array(4, 3, 2, 1)) !== array(4, 4, 4, 4)) { throw new Exception("Test failed!"); }
    if (candidate(array(3, 2, 3, 100, 3)) !== array(3, 3, 3, 100, 100)) { throw new Exception("Test failed!"); }
}

test();