function [ x, w ] = rule25 ( n )

%*****************************************************************************80
%
%% RULE25 returns the rule of degree 25.
%
%  Licensing:
%
%    This code is distributed under the GNU LGPL license.
%
%  Modified:
%
%    07 July 2014
%
%  Author:
%
%    Original FORTRAN77 version by Hong Xiao, Zydrunas Gimbutas.
%    This MATLAB version by John Burkardt.
%
%  Reference:
%
%    Hong Xiao, Zydrunas Gimbutas,
%    A numerical algorithm for the construction of efficient quadrature
%    rules in two and higher dimensions,
%    Computers and Mathematics with Applications,
%    Volume 59, 2010, pages 663-676.
%
%  Parameters:
%
%    Input, integer N, the number of nodes.
%
%    Output, real X(2,N), the coordinates of the nodes.
%
%    Output, real W(N), the weights.
%
  xs = [ ...
    -.7103850079486462,0.7103850079486462, ...
    0.2350136833954603,-.2350136833954603, ...
    0.2319467644431913,-.2319467644431913, ...
    0.1887551793322332E-01,-.1887551793322329E-01, ...
    0.4762227841581165,-.4762227841581164, ...
    0.9223578267424110,-.9223578267424110, ...
    0.8612991449140567,-.8612991449140567, ...
    -.2008507367686636,0.2008507367686637, ...
    0.9910315414864325,-.9910315414864325, ...
    0.3217353529776810,-.3217353529776809, ...
    0.8933439162316077,-.8933439162316077, ...
    -.5783268726892828,0.5783268726892828, ...
    0.1876981715173633,-.1876981715173632, ...
    -.4040937317707446,0.4040937317707447, ...
    -.8086692861933220,0.8086692861933220, ...
    0.7699071344451243,-.7699071344451243, ...
    0.1349449671364110,-.1349449671364109, ...
    0.7067483874126944,-.7067483874126944, ...
    0.9941851173182269,-.9941851173182271, ...
    0.9823116186120971,-.9823116186120969, ...
    0.4238538814747814E-01,-.4238538814747803E-01, ...
    -.1196214241956023,0.1196214241956024, ...
    0.6534777415625678,-.6534777415625675, ...
    0.9750429947957491,-.9750429947957491, ...
    0.8117686312525225,-.8117686312525225, ...
    0.6171167577694838,-.6171167577694838, ...
    0.5721736374948944,-.5721736374948944, ...
    -.3415910753286391,0.3415910753286392, ...
    -.9491077472873352,0.9491077472873354, ...
    0.9925898844290307,-.9925898844290307, ...
    -.2361386817708837,0.2361386817708838, ...
    0.4376492710177434,-.4376492710177433, ...
    0.9907335874081320,-.9907335874081320, ...
    0.3690348754186010,-.3690348754186009, ...
    0.2356776284326877,-.2356776284326877, ...
    0.9290327147765426,-.9290327147765426, ...
    0.5315931005621322,-.5315931005621322, ...
    -.7970927883912756,0.7970927883912758, ...
    -.6382950957253196,0.6382950957253198, ...
    0.9125245471252791,-.9125245471252793, ...
    -.1417325966030156,0.1417325966030157, ...
    0.4628221381215424,-.4628221381215424, ...
    0.9500761399436652,-.9500761399436652, ...
    0.6585082411431559,-.6585082411431559, ...
    -.5874365186841102E-02,0.5874365186841170E-02, ...
    0.9830805981225823,-.9830805981225823, ...
    0.9607858073894220,-.9607858073894220, ...
    0.8126469869288578,-.8126469869288578, ...
    0.9197969485441327,-.9197969485441327, ...
    -.5479961396095706,0.5479961396095708, ...
    -.4470049599321014,0.4470049599321015, ...
    0.7873844821702739,-.7873844821702737, ...
    0.3012570662899303D-30,0.4368201344745598, ...
    -.4368201344745598,0.8506134670179059, ...
    -.8506134670179059,0.9113188530371741, ...
    -.9113188530371739,0.9836230570941239, ...
    -.9836230570941239,0.7402837708508578, ...
    -.7402837708508578 ];
  ys = [ ...
    -.7506170245096466,0.7506170245096466, ...
    -.6015670998122035E-01,0.6015670998122038E-01, ...
    0.6313639161925437E-01,-.6313639161925434E-01, ...
    -.2037217515148590,0.2037217515148590, ...
    -.9891004866173655,0.9891004866173655, ...
    -.3246552383950583,0.3246552383950584, ...
    -.1540352101742460,0.1540352101742461, ...
    -.3377511016941964,0.3377511016941964, ...
    -.6383724442924701,0.6383724442924703, ...
    -.8954389923107672,0.8954389923107672, ...
    0.6633371340392643,-.6633371340392643, ...
    -.6441606686218248,0.6441606686218248, ...
    -.9825525591494771,0.9825525591494771, ...
    -.4921744377774439,0.4921744377774439, ...
    -.8285906504912744,0.8285906504912744, ...
    0.5016460262480213,-.5016460262480213, ...
    -.7648310056858745,0.7648310056858745, ...
    -.7008712571932789,0.7008712571932789, ...
    0.9429421827689296,-.9429421827689294, ...
    -.9889464727951927,0.9889464727951929, ...
    -.9395791578550448,0.9395791578550448, ...
    -.8631057904957280,0.8631057904957280, ...
    -.9411634392706579,0.9411634392706579, ...
    0.7901512634507242,-.7901512634507240, ...
    -.8620663504329279,0.8620663504329279, ...
    0.3181861315943668,-.3181861315943667, ...
    -.4998028335682857,0.4998028335682858, ...
    -.9494727492703661,0.9494727492703661, ...
    -.9900142583759359,0.9900142583759357, ...
    -.2005292720209485,0.2005292720209486, ...
    -.6936010697328517,0.6936010697328517, ...
    -.9618522647938675,0.9618522647938675, ...
    0.2336705239348026,-.2336705239348024, ...
    -.6422765133729448,0.6422765133729448, ...
    -.4058616631814986,0.4058616631814986, ...
    -.7553494223525696,0.7553494223525699, ...
    -.8131056508171524,0.8131056508171524, ...
    -.9753835609823820,0.9753835609823820, ...
    -.9152847871689571,0.9152847871689571, ...
    0.9075396692621631,-.9075396692621629, ...
    -.9916640269515081,0.9916640269515081, ...
    -.2319599091440556,0.2319599091440556, ...
    0.2744706063362164E-01,-.2744706063362152E-01, ...
    -.4230837956698025E-01,0.4230837956698034E-01, ...
    -.5553447391265243,0.5553447391265243, ...
    0.5512083775806552,-.5512083775806550, ...
    -.4486213975897800,0.4486213975897801, ...
    0.1653383270128847,-.1653383270128846, ...
    0.3695711955638312,-.3695711955638311, ...
    -.9920191871388367,0.9920191871388367, ...
    -.8211053506315364,0.8211053506315364, ...
    -.9936569020855669,0.9936569020855669, ...
    -.1899153506582438D-30,0.1367147397139465, ...
    -.1367147397139464,-.5673411356087702, ...
    0.5673411356087702,-.9545649683609251, ...
    0.9545649683609253,-.8813580692740732, ...
    0.8813580692740735,-.3448010185338413, ...
    0.3448010185338414 ];
  ws = [ ...
    0.1890289035282082E-01,0.1890289035282082E-01, ...
    0.4408519139496046E-01,0.4408519139496046E-01, ...
    0.1760012528851595E-01,0.1760012528851595E-01, ...
    0.5135792991631447E-01,0.5135792991631447E-01, ...
    0.5903718396467129E-02,0.5903718396467129E-02, ...
    0.1169110569868906E-01,0.1169110569868906E-01, ...
    0.2797734321676553E-01,0.2797734321676553E-01, ...
    0.5430655753317624E-01,0.5430655753317624E-01, ...
    0.5579615408482969E-02,0.5579615408482969E-02, ...
    0.2529071368793077E-01,0.2529071368793077E-01, ...
    0.2144063823465160E-01,0.2144063823465160E-01, ...
    0.3501744210151039E-01,0.3501744210151039E-01, ...
    0.8405006765794200E-02,0.8405006765794200E-02, ...
    0.4833682312227475E-01,0.4833682312227475E-01, ...
    0.1594545160823835E-01,0.1594545160823835E-01, ...
    0.3558939192260235E-01,0.3558939192260235E-01, ...
    0.4226984758231494E-01,0.4226984758231494E-01, ...
    0.3140501945419725E-01,0.3140501945419725E-01, ...
    0.2024434452721722E-02,0.2024434452721722E-02, ...
    0.1349622146875648E-02,0.1349622146875648E-02, ...
    0.1534182110464278E-01,0.1534182110464278E-01, ...
    0.2952379758820060E-01,0.2952379758820060E-01, ...
    0.1647236890585741E-01,0.1647236890585741E-01, ...
    0.8590118628187588E-02,0.8590118628187588E-02, ...
    0.1949659427579714E-01,0.1949659427579714E-01, ...
    0.4728589565124858E-01,0.4728589565124858E-01, ...
    0.4410722929300222E-01,0.4410722929300222E-01, ...
    0.1872860198784019E-01,0.1872860198784019E-01, ...
    0.2411335871046539E-02,0.2411335871046539E-02, ...
    0.6741232108638781E-02,0.6741232108638781E-02, ...
    0.4411511228498587E-01,0.4411511228498587E-01, ...
    0.4232733780262361E-02,0.4232733780262361E-02, ...
    0.6812146781301679E-02,0.6812146781301679E-02, ...
    0.4593608235278822E-01,0.4593608235278822E-01, ...
    0.5792082516805559E-01,0.5792082516805559E-01, ...
    0.1593195877796943E-01,0.1593195877796943E-01, ...
    0.3056610289854859E-01,0.3056610289854859E-01, ...
    0.8554835231990672E-02,0.8554835231990672E-02, ...
    0.1956601012663267E-01,0.1956601012663267E-01, ...
    0.1051117872480982E-01,0.1051117872480982E-01, ...
    0.6521513110348300E-02,0.6521513110348300E-02, ...
    0.5717074378851367E-01,0.5717074378851367E-01, ...
    0.1929092010649333E-01,0.1929092010649333E-01, ...
    0.5062498553433200E-01,0.5062498553433200E-01, ...
    0.5402053691556560E-01,0.5402053691556560E-01, ...
    0.8931127348310931E-02,0.8931127348310931E-02, ...
    0.1271750255435475E-01,0.1271750255435475E-01, ...
    0.3860453155876481E-01,0.3860453155876481E-01, ...
    0.2372095848832025E-01,0.2372095848832025E-01, ...
    0.5971489271210207E-02,0.5971489271210207E-02, ...
    0.3192818361403054E-01,0.3192818361403054E-01, ...
    0.4118255231945603E-02,0.4118255231945603E-02, ...
    0.1843978737274201E-01,0.5393241195495463E-01, ...
    0.5393241195495463E-01,0.2787139422709562E-01, ...
    0.2787139422709562E-01,0.8002087241718343E-02, ...
    0.8002087241718343E-02,0.5159834028120074E-02, ...
    0.5159834028120074E-02,0.3908234388553434E-01, ...
    0.3908234388553434E-01 ];

  x(1,1:n) = xs(1:n);
  x(2,1:n) = ys(1:n);
  w(1:n) = ws(1:n);

  return
end