<?php

/*class ListNode{
    var $val;
    var $next = NULL;
    function __construct($x){
        $this->val = $x;
    }
}*/

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param A int整型一维数组 
 * @param val int整型 
 * @return ListNode类
 */
function insert( $A ,  $val )
{
    $head = new ListNode(NULL);
    $p = $head;
    for ($i = 0; $i < count($A); $i++) {
        $node = new ListNode($A[$i]);
        $p->next = $node;
        $p = $node;
        
        if ((!isset($A[$i + 1]) && $val >= $A[$i])
            || ($val >= $A[$i] && $val < $A[$i + 1])) {
            $node = new ListNode($val);
            $p->next = $node;
            $p = $node;
        }
    }
    
    return $head->next;
}