I have tried many different things to try to print this stack but it keeps printing the hashcode ie. Problem1$Node@3d4eac69. I have searched a lot online and found nothing that has worked for this so if there are any suggestions help is greatly appreciated.
import java.util.*;
public class Problem1 {
public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    // Reading the first integer containing the number of test queries
    int N = input.nextInt();
    // Initializing the maximum value
    int max = Integer.MIN_VALUE;
    // Initializing the stack. 
    Stack<Node> stack = new Stack<Node>();
    // Read the query and perform the actions specified. 
     for(int i = 0; i < N; i++){
         int x = input.nextInt();
        if(x == 1){
            int value = input.nextInt();
            Node n = new Node(value);
           stack.push(n);
           System.out.println(stack);
        }
        else if(x == 2){
           stack.pop();
        }
        else if(x == 3){
           System.out.println(stack.peek());
        }
     }
    }
static class Node{
    int data;
    public Node(int data){
        this.data = data;
    }
}    
}
 
    