#include <stdio.h>

int m[10240];

int main()
{
    int N; scanf( " %d", &N );
    for( int prob = 1; prob <= N; prob++ )
    {
        // read the midpoints
        int n; scanf( " %d", &n );
        for( int i = 0; i < n; i++ ) scanf( " %d", m + i );
        
        // deal with special cases
        int a = 0, b = 0;
        if( n < 2 ) goto hell;
        
        // drag the range [a, b] along m, reflecting it in every point
        a = ( m[0] + 2 ) & ~1;
        b = ( m[1] - 1 ) & ~1;
        for( int i = 1; i < n && b >= a; i++ )
        {
            b <?= ( m[i] - 1 ) & ~1;
            int nexta = ( m[i] + m[i] - b + 1 ) & ~1;
            int nextb = ( m[i] + m[i] - a ) & ~1;
            a = nexta;
            b = nextb;
        }
        
        // report 
        hell: printf( "Case #%d: %s\n", prob, b >= a ? "YES": "NO" );
    }
    return 0;
}

