# 入力ファイルの読み込み
File.open("Data/Parallelism_Input.txt", "r") do |file|
  # 1行ずつ読み込む
  file.each do |line|
    # 1行目にはデータセットの数
    if file.lineno == 1
      deta_set_number = line.to_i
      puts "データの数は#{deta_set_number}です"
    # 2行目以降は座標
    else
      # 入力データをスペースで区切って配列に格納
      # データは順にx1 y1 x2 y2 x3 y3 x4 y4
      coord_array = line.split(" ")
      # coord_arrayの要素の型を整数に変換
      coord_array.each_with_index do |value, index|
        coord_array[index] = value.to_i
      end
      
      # 傾きを格納する配列の宣言
      gradient_array = Array.new(2)
      
      # 傾き計算
      (0..1).each do |count|
        y_inc = coord_array[3 + count * 4] - coord_array[1 + count * 4]
        x_inc = coord_array[2 + count * 4] - coord_array[0 + count * 4]
        gradient_array[count] = y_inc / x_inc
      end
      
      # 傾きが一致したらYES, 一致しなかったらNOと出力
      if gradient_array[0] == gradient_array[1]
        puts "YES"
      else
        puts "NO"
      end
    end
  end
end