public void run()
        {
            byte[] b1 = null;
            byte[] b2 = null;
            boolean next = false;
            for( int i = 0; i < b.length; i++ )
            {
                for( int j = 0; j < g[i]; j++ )
                {
                    b1 = whtb[i][j];
                    for( int k = 0; k < g[i]; k++ )
                    {
                        b2 = whtb[i][k];
                        for( int l = 0; l < 32; l++ )
                        {
                            next = false;
                            for( int ii = 0; ii < 32; ii++ )
                            {
                                if( ( ( b1[ii] + b2[ii^l] ) % 16 ) == 0 )
                                {
                                    next = true;
                                    break;
                                }
                            } 
                            if( next )
                            {
                                continue;
                            }
                            a.add( ( ( ( (long)b[i][j] ) << 32 ) ^ ( ( (long)b[i][k] ) ^ ( (long)fo[l] ) ) ) );
                        }
                    }
                }
            }
            System.out.println( "Thread " + idNum + " done." );
        }