Two Normal Maps on same Material

I want to create two normal maps on Same Material, I’m starting to program a shader, but I dont have any idea how to mix the normal maps.

This is my Shader:

  Shader "Example/Diffuse Bump" {
    Properties {
      _MainTex ("Texture", 2D) = "white" {}
      _BumpMap ("Bumpmap", 2D) = "bump" {}
      _BumpMap2 ("Bumpmap", 2D) = "bump" {}
    }
    SubShader {
      Tags { "RenderType" = "Opaque" }
      CGPROGRAM
      #pragma surface surf Lambert
      struct Input {
        float2 uv_MainTex;
        float2 uv_BumpMap;
      };
      sampler2D _MainTex;
      sampler2D _BumpMap;
      sampler2D _BumpMap2;
      void surf (Input IN, inout SurfaceOutput o) {
        o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;
        o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap));
        o.Normal = UnpackNormal (tex2D (_BumpMap2, IN.uv_BumpMap));
      }
      ENDCG
    } 
    Fallback "Diffuse"
  }

try o.Normal = UnpackNormal (tex2D(_BumpMap, IN.uv_BumpMap) + tex2D (_BumpMap2, IN.uv_BumpMap)*2-1);